cron 守护程序由“root”用户在其自己的 shell 中运行。默认情况下,cron 将附加发送给运行脚本的用户的系统邮件(这就是您在系统邮件中将发件人视为“root”的原因)。“用户”是您在设置 crontab 时登录的用户。该邮件将包含控制台和错误消息。在 Ubuntu 上,邮件文件可在/var/mail/<username>
.
如果没有设置变量,cron 将在邮件文件中$TERM
发出错误。tput: No value for $TERM and no -T specified
要停止这些错误,请在 crontab中使用(或系统中的另一个可用终端,如)设置$TERM
变量。该命令将显示当前系统上的 terminfo 定义。如果您缺少该命令,您可以在大多数 Linux 系统上看到原始数据。TERM=dumb
xterm
toe
/usr/share/terminfo
即使您已停止错误,您仍可能会收到带有控制台消息的附加系统邮件。随着时间的推移,此文件将像日志一样填满,因此您可能希望停止这些消息。要停止 cron 系统邮件,请MAILTO
使用MAILTO=""
所以你的 crontab 可能看起来像:
MAILTO=""
TERM=xterm
* * * * * sh /path/to/myscript.sh
您可以使用“crontab -l”查看 crontab(对于您登录的用户)。