MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > linux / 正文

linux自动查询mysql表,每天定时发邮件,一篇完全搞定

2024-11-26 15:08 huorong linux 5 ℃ 0 评论

我们想要在linux系统上实现自动查询数据库数据(以mysql为例),然后每天定时发送邮件给相关负责人,那么只需要按照以下几个步骤来操作即可。

第一步 写执行脚本:就是将你要自动做的事情先手动操作一遍, 写一个target.sh 脚本,然后可以执行试试,此处我们的脚本内容如下(如果不会可以照着抄写):

先写 database.conf 配置文件,将数据库用户名密码等连接信息写入到配置文件,这个是为了维护等方便! 配置文件内容如下图:

然后就可以写export_mysql.sh 执行脚本了。由于内容较多,分成两张图如下:

具体执行方法:

到此咱们第一步完成!有了需要发送的东西,接下来咱们就要测试是否能正常运行了。关于具体的sql代码,就不做过多解释了,就是简单的登陆数据库,连表查询数据,然后按照日期导出到txt文件中。这边需要特别说明的是,如果不想做修改,那么导出目录只能是 /var/lib/mysql-files 。 如果想自行修改,那需要改动mysql的配置,具体此处就不展开了。

第二步:Mail环境配置

linux发邮件有多个工具,此处我们就用简单的mail(喜欢mutt的也可以用它,也很好用)来发送。 这时,咱们就需要 先安装mail 。

先检查是否安装:yum list installed |grep mail

如果没安装,也很简单执行 yum install mail 就可以自动安装了。

安装完成后,咱们还需要配置mail,毕竟自动发送,也得有个发送的人啊,这步骤就是将发件人信息配置进去。 邮箱账号和发件人 一般来说都是同一个账号。

这个文件是在mail.rc中配置的。一般 该文件在此目录: /etc/mail.rc 如果该目录没有可以自己网上下载一个或者私信我!

到此,咱们的发送代码基本都ok了,我们然后把 export_mysql.sh 文件增加可执行权限,可以用 chmod +x export_mysql.sh 来给其增加可执行权限,当然,也可以用 chmod 755 export_mysql.sh 统一赋权限,一般文件用 755权限就ok了(文件权限4是读,2是写,1是执行,4+2+1 =7 就意味着 可读可写可执行,而5就是 4+1 意思就是读加执行。至于755三个位置,第一个7是文件拥有者,中间的5是同组用户,最后的5是其它用户,可以理解为游客)。权限这些只是基础,咱们不多说。

第三步:编写Crontab

终于到了最后一步了,在写crontab之前,咱们需要测试一下脚本是否ok,直接用sh export_mysql.sh 执行一遍即可,我们可以看到能正常发送邮件。

那么现在就要定时执行该脚本即可了,用 crontab -e 来编辑 crontab。 编写后保存即可。

咱们也可以用crontab -l 来查看定时任务。

如果不会写 crontab表达式也没关系,咱们可以在一些辅助网站上自动生成,比如 https://cron.qqe2.com/ 这个网站就可以自动生成。需要注意的是,这上面想比linux的cronta 多了几个位置,linux的crontab 没记错的话,是只有 分、时、日、月、年 这几个的。

其实就是反过来的年月日时分 而已。 最后看每天生成的内容,

到此,咱们每天早上就可以看到自动发过来的邮件数据了!

linux自动发邮件,大家会了吗?

Tags:linux登录数据库

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言