我为增量备份添加了一个 cron 作业,并对其进行了如下配置:
0 23 * * * /usr/bin/rsync -ravzX /mnt/external/project/ /media/backup/project/ | mail -s "Backup Success" [email protected]
但我没有收到任何电子邮件。
我该如何找出问题所在?
答案1
您可以使用 crontab 中的 MAILTO 选项来定义您的电子邮件地址并接收所有运行的 cron 中的所有输出和错误。
使用以下方式打开 crontab
crontab -e
在文件顶部使用 MAILTO 选项作为
[email protected]
cron 会查找 MAILTO 功能来决定应将 cron 日志发送到何处。如果 cron 以 root 身份运行,则默认发送给 root。
将其放在顶部并从 cron 中删除所有邮件命令引用。
测试并验证此后您是否收到 cron 警报。
答案2
在 FreeBSD 上
1:检查日志:
tail -f /var/log/cron
tail -f /var/log/maillog
2:用 ssmtp vi /etc/rc.conf 文件替换 sendmail 并添加:
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:输入以下命令:
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/
答案3
在这种情况下,问题是邮件已被发送到 Gmail 上的垃圾邮件文件夹(这始终值得检查)。将发件人添加为联系人应该可以避免这种情况。
除此之外,查看收到的邮件的完整标头可能会提供有关其被标记为垃圾邮件的原因的线索(以及如何影响过滤而不执行此操作)。