业务背景:

在前几日设置了自动将生产机DB2备份数据复制到另一台文件服务器备份【参考:“利用scp实现数据自动远程备份”】,在此基础上再进一步将备份执行情况通过邮件发送给相关人员,以及时了解备份计划执行情况。

解决方案:

下载&安装mailx-12.4

#wget ftp://ftp.tw.freebsd.org/pub/FreeBSD/FreeBSD/distfiles/mailx-12.4.tar.bz2
#tar jxvf mailx-12.4.tar.bz2
#cd mailx-12.4
#make && make install UCBINSTALL=/usr/bin/install

配置/etc/nail.rc

先注册一个免费邮箱,且提供SMTP服务;然后编辑/etc/nail.rc文件,在文件最后追加如下内容:
#vim /etc/nail.rc
set from=[email protected](前面注册的免费邮箱)
set smtp=smtp.sina.com(smtp服务地址)
set smtp-auth-user=邮箱账号
set smtp-auth-password=邮箱密码
set smtp-auth=login

编写脚本

脚本内容如下,保存在/scripts/sendmail.sh中
#!/bin/bash
# 说明:
#       将backup.log内容邮件发给相关人员
#       root权限下执行crontab -e
#       输入:00 08 * * * /scripts/sendmail.sh
# 版本历史:
# v1.0  2014/09/13      Matt.Li    初版
#source /etc/profile
tail -10 /scripts/backup.log | /usr/local/bin/mailx -s "提醒:文件备份日志,请检查。" [email protected],[email protected]

设置定时执行

$ su root
# chmod 700 /scripts/sendmail.sh
# crontab -e
然后输入如下内容
00 08 * * * /scripts/sendmail.sh