首页 文章

甚至没有找到命令crontab PATH已设置

提问于
浏览
0

即使我将/ etc / crontab中的PATH设置为

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib/mailman/cron:/usr/lib/mailman/bin

仍未找到/ usr / lib / mailman / cron中找到的命令,因此向root发送邮件说

/bin/sh: mailman: command not found

我调试了这个问题,设置了一个cron条目

* * * * * /bin/echo "`/bin/date`: $PATH" >> /tmp/crontest.log 2>&1

使用crontab -e实际上将PATH写入/tmp/crontest.log,确认在/ etc / crontab中输入的路径不是cron认为应该的路径 .

Fri Feb 14 10:22:01 CET 2014: /usr/bin:/bin

我也尝试通过重新启动cron来解决它,使用(两个)服务crond restart和service crond stop; sleep 5; service crond start(它做同样的事情,但绝对确定它已经重新启动),但是这不会改变任何事情 .

/ etc / crontab文件是每个人都可读的(权限是644 root root)

-rw-r--r-- 1 root root 500 10 feb 10:36 /etc/crontab

/ var / log / cron没有显示有关该问题的任何信息,只是启动了什么以及何时重新启动了cron

grep -v CMD /var/log/cron
.
.
.
Feb 14 09:45:34 p1kitlst01l crond[12214]: (CRON) INFO (running with inotify support)
Feb 14 09:45:34 p1kitlst01l crond[12214]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
Feb 14 09:48:07 p1kitlst01l crontab[12331]: (root) BEGIN EDIT (root)
Feb 14 09:48:45 p1kitlst01l crontab[12331]: (root) REPLACE (root)
Feb 14 09:48:45 p1kitlst01l crontab[12331]: (root) END EDIT (root)
Feb 14 09:49:01 p1kitlst01l crond[12214]: (root) RELOAD (/var/spool/cron/root)
Feb 14 10:01:01 p1kitlst01l run-parts(/etc/cron.hourly)[13010]: starting 0anacron
Feb 14 10:01:01 p1kitlst01l run-parts(/etc/cron.hourly)[13027]: finished 0anacron
Feb 14 10:01:01 p1kitlst01l run-parts(/etc/cron.hourly)[13010]: starting mcelog.cron
Feb 14 10:01:01 p1kitlst01l run-parts(/etc/cron.hourly)[13039]: finished mcelog.cron
Feb 14 10:19:16 p1kitlst01l crontab[13840]: (root) BEGIN EDIT (root)
Feb 14 10:19:23 p1kitlst01l crontab[13840]: (root) END EDIT (root)
Feb 14 10:27:17 p1kitlst01l crond[14170]: (CRON) STARTUP (1.4.4)
Feb 14 10:27:17 p1kitlst01l crond[14170]: (CRON) INFO (running with inotify support)
Feb 14 10:27:17 p1kitlst01l crond[14170]: (CRON) INFO (@reboot jobs will be run at computer's startup.)

对我要查看的内容有什么建议吗?

亨里克

1 回答

  • 0

    我认为,你有两种方法可去(也许其他方式提供更多) .

    1)在脚本中设置mailman的绝对路径 .

    2)获取.profile,然后运行脚本,例如:

    0 1 * * * . ~/.profile; bash your_script.sh
    

相关问题