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}

Logo

更多推荐