1、安装msmtp和mutt
2、修改.msmtprc文件:
defaults logfile /root/log/msmtp.log ########################################## account 126 host smtp.126.com from craftor@126.com auth login user "craftor" password "********" ########################################## account gmail host smtp.gmail.com tls on tls_certcheck off auth on from craftor0924@gmail.com auth login user "craftor0924" password "********" ########################################### account default:gmail
说明:配置好自己的邮箱信息,用于自动发邮件。注意如果附件太大可能发不了。最后一行选择使用哪个邮箱设置进行发送。
3.编写脚本:
#!/bin/sh cd /home/test MyWeb=craftor.org echo "backuping $MyWeb ..." /usr/bin/mysqldump -uroot -ppasword $MyWeb >> $(date +"%Y-%m-%d")-$MyWeb.sql tar zcf $(date +"%Y-%m-%d")-$MyWeb.tar.gz /var/www/$MyWeb >> out.txt rm $(date -d-3day +"%Y-%m-%d")-$MyWeb.sql rm $(date -d-3day +"%Y-%m-%d")-$MyWeb.tar.gz
echo "测试内容" | mutt -s "测试标题" 目标邮件地址 -a "附件1" -a "附件2"
/home/test是我存放备份文件的位置。
注意mysqldump后面,-u跟的是用户名(推荐使用root),-p跟的是密码(之间没有空格),后面跟的是数据库名。
因为我网站craftor.org在/var/www下的目录也是craftor.org,数据库名也是craftor.org,所以使用一个变量统一代替,如果不一样,请自己注意修改。
最后一行是自动发邮件的格式
4. 自动执行,输入 crontab -e,然后在文件里添加新的一行,格式是 m h dom mon dow command
00 01 * * * /root/backup.sh
我这里表示第天01:00执行backup.sh脚本。