sudo其他账户运行linux crontab的时候,一直提示No entry for terminal type "unknown"的错误。
一直不得其解。
网上搜了一下,大概了解了问题所在,记录在此,避免以后重复寻找。
问题现象:
sudo其他账户运行crontab的时候,一直提示No entry for terminal type "unknown"的错误
但是crontab中的命令,在terminal下敲却没有错误信息提示
原因:
sudo的账户被声明为/sbin/nologin类型。导致该账户没有TERM的环境变量
解决方法:
在sudo之后,加上/usr/bin/env TERM=xterm
比如 原crontab 任务运行如下:
* */1 * * * sudo -u USER {PATH}/{Command}
改为
* */1 * * * sudo -u USER /usr/bin/env TERM=xterm {PATH}/{Command}