我在 crontab 中指定了一个 cron 作业:
...
MAILTO=root
...
...
47 09 * * * tst nice -n 15 /opt/tst/bin/doMirror
...
由于语法错误,doMirror 脚本失败。我原以为root用户会变成email通知,但在cron日志中显示:
Dec 4 09:47:01 f601 CROND[1163]: (CRON) ERROR chdir failed (/home/tst): Datei oder Verzeichnis nicht gefunden
Dec 4 09:47:01 f601 CROND[1161]: (tst) MAIL (mailed 60 bytes of output but got status 0x0002#012)
什么意思是“得到状态 0x0002#012”。找不到任何相关信息。
如果我通过
echo "This is only a test." | mail -s "Testing testing" root
这像预期的那样工作。
谢谢,史蒂芬
找到了!无法发送电子邮件的原因是,在我的情况下,用户“tst”没有自己的并且已经创建了主目录。为用户 tst 创建主目录后,它按预期工作!:-)