centos7上定时将mysql数据导出并且发送到指定的邮箱
一、安装sendmail和mutt
yum -y install sendmail mutt mailx
二、利用163邮箱向外发邮件
vim /etc/mail.rc
加入最后一行即可,我用的是163邮箱,建议不要用qq邮箱(qq邮箱安全要求高,同样的配置出错)
set from=158XXXXXX14@163.com smtp=smtp.163.com smtp-auth-user=158XXXXXX14@163.com smtp-auth-password=tsXXXXXXXXXXXX456 smtp-auth=login
四、脚本内容如下:
五、利用crontab设置定时任务,具体脚本就不写了。
附、mutt命令详解
以前每天早上查询数据库,将结果发送给领导。昨天终于通过脚本实现了自动发送了。推荐使用mutt命令。其实这条命令很简单,就已经能满足大家的需求了。如:
mutt -s "subject" -a /backup/backup.tar.gz xxx@126.com < /tmp/x.txt |
-s: 邮件标题,用""括上。 -a: 邮件附件。如上命令就是将/backup目录下 backup.tar.gz文件作为附件发送。 < /tmp/x.txt:/tmp目录下x.txt文件里的内容作为邮件内容发送。 |
如果发送给多个人,只要在邮箱地址后加空格接着输入邮箱地址即可,如:
mutt -s "subject" -a /backup/backup.tar.gz xxx1@126.com xxx2@126.com xxx3@126.com< /tmp/x.txt
mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文 件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址]