gpt4 book ai didi

linux - CRON 进程记录的 "tput: No value for $TERM and no -T specified "错误

转载 作者:IT王子 更新时间:2023-10-29 00:06:37 31 4
gpt4 key购买 nike

我们有一个由 CRON 运行的 shell 脚本。 shell 脚本依次运行 python 脚本,该脚本从 FTP 服务器下载文件,然后在这些文件上运行 java 日志处理器。这个过程运行得很好,除了我继续收到 CRON 电子邮件,即使没有错误。至少,我认为没有错误。 cron 邮件有两行,其中一行是

tput: No value for $TERM and no -T specified

经过一番研究,我发现这与设置 $TERM 变量有关。我不确定,该怎么做。任何帮助,将不胜感激。谢谢!

最佳答案

cron 守护进程由“root”用户在它自己的 shell 中运行。默认情况下,cron 将附加发送给运行脚本的用户的系统邮件(这就是为什么您在系统邮件中看到发件人为“root”的原因)。 “用户”是您在设置 crontab 时登录的用户。该邮件将包含控制台和错误消息。在 Ubuntu 上,可以在 /var/mail/<username> 查看邮件文件.

如果没有$TERM设置变量,cron 将发出 tput: No value for $TERM and no -T specified邮件文件中的错误。要停止这些错误,请设置 $TERM变量使用 TERM=dumb (或您系统中的另一个可用终端,如 xterm )在 crontab 中。 toe命令将显示当前系统上的 terminfo 定义。如果缺少该命令,可以在 /usr/share/terminfo 中查看原始数据在大多数 Linux 系统上。

即使您已停止错误,您仍可能会收到带有控制台消息的附加系统邮件。随着时间的推移,该文件将像日志一样填满,因此您可能希望停止这些消息。要停止 cron 系统邮件,请设置 MAILTO变量使用 MAILTO=""

所以你的 crontab 可能看起来像:

MAILTO=""
TERM=xterm

* * * * * sh /path/to/myscript.sh

您可以使用“crontab -l”查看 crontab(针对您登录的用户)。

关于linux - CRON 进程记录的 "tput: No value for $TERM and no -T specified "错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29979966/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com