如何在cron作业之后发送电子邮件

我为增量备份添加了一个cron作业,并将其configuration为:

0 23 * * * /usr/bin/rsync -ravzX /mnt/external/project/ /media/backup/project/ | mail -s "Backup Success" [email protected]

但我没有收到任何电子邮件
我怎样才能找出什么是错的?

您可以使用crontab中的MAILTO选项定义您的电子邮件地址,并接收所有正在运行的cron中的所有输出和错误。

打开crontab使用

 crontab -e 

在文件的顶部使用MAILTO选项

 [email protected] 

cron寻找MAILTOfunction来决定它应该发送cron日志的地方。 如果crons以root身份运行,它会默认发送root。

把它放在顶部,从crons中删除任何邮件命令的引用。

testing并validation在此之后是否收到cron警报。

在FreeBSD上

1:检查日志:

 tail -f /var/log/cron tail -f /var/log/maillog 

2:用ssmtp vi /etc/rc.conf文件replacesendmail,并添加:

 sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" 

3:启动以下命令:

 killall sendmail cd /usr/ports/mail/ssmtp/ make install replace clean 

4:编辑ssmtp conf文件:

 vi /usr/local/etc/ssmtp/ssmtp.conf 

….并添加以下行:

 [email protected] mailhub=smtp.example.com:465 RewriteDomain=example.org UseTLS=YES [email protected] AuthPass=password222 FromLineOverride=YES Hostname=yourhostname 

5:input以下命令:

 echo 'ssmtp_enable=“YES”' >> /etc/rc.conf 

PS其他解释ssmtp.conf的选项在这里:

http://www.techrepublic.com/blog/it-security/use-ssmtp-to-send-e-mail-simply-and-securely/

在这种情况下,问题是该邮件已经传递到Gmail上的垃圾邮件文件夹(这总是值得检查)。 添加发件人作为联系人应该避免这一点。

除此之外,查看收到的消息的完整标题可能会提供线索,为什么它被标记为垃圾邮件(以及如何影响筛选不这样做)。