cron 作业未运行

cron 作业未运行

我有几个脚本,我计划在 cron 中运行一段时间。大约一周前,根据(非常基本的)日志显示,它们停止运行,而且我还注意到我的壁纸不再旋转。

josh@sirius:~$ crontab -l
# m h  dom mon dow   command
0 * * * * /bin/bash /home/josh/bin/rotate-wallpaper
*/30 * * * * /bin/bash /home/josh/bin/download-programmes
* * * * * echo "I ran" > /home/josh/cronstamp

前两个命令均未运行,但~/cronstamp文件确实按预期创建并写入。

答案1

看起来你的脚本失败了。我建议2>&1 > /home/josh/cronlog在命令末尾添加,这样你以后就可以检查出了什么问题

例子:

# m h  dom mon dow   command
0 * * * * /bin/bash /home/josh/bin/rotate-wallpaper 2>&1 > /home/josh/cronlog
*/30 * * * * /bin/bash /home/josh/bin/download-programmes 2>&1 > /home/josh/cronlog

答案2

尝试重新加载 cron 作业:

sudo service reload

可用选项有:

sudo service {start|stop|status|try-restart|restart|force-reload|reload|probe}

答案3

您的脚本是否依赖于 GUI 元素(我想是的,因为您谈到了壁纸)?那么我猜这行不通,因为它错过了 Cron 中的一些环境变量,而不是在终端窗口中运行。

如果您只是需要$DISPLAY并且没有运行多个 X-windows,请在脚本中像这样设置(在顶部):

DISPLAY=:0

可能还有更多缺失。请尝试进一步调试并记录脚本中所有命令的所有输出,如@zakkak 所解释的那样stdoutstderr

相关内容