![Cron 没有运行脚本,/var/log/syslog 中没有错误](https://linux22.com/image/843588/Cron%20%E6%B2%A1%E6%9C%89%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%2Fvar%2Flog%2Fsyslog%20%E4%B8%AD%E6%B2%A1%E6%9C%89%E9%94%99%E8%AF%AF.png)
我有一个脚本,它在 cron.d 中创建一个文件,并将一些作业放入其中。Cron 似乎根本不执行这些作业,因为它运行的程序设置为记录所有执行。cron.d 中的文件如下所示:
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
*/1 * * * * root /usr/bin/python /home/myname/some_script.py --switch1
2 21 * * 4 root /usr/bin/python /home/myname/some_script.py --switch2 --switch3
这些作业都没有执行,我在 中找不到任何内容grep CRON /var/log/syslog
。脚本在正常执行时工作正常。有什么想法吗?
编辑:添加该行*/1 * * * * root echo "something" >> /tmp/something
效果很好。
注意:虽然 AskUbuntu 不会显示它,但文件做有一个尾随换行符。
答案1
事实证明,我的脚本在 cron.d 中创建文件时使用了错误的权限。这导致 cron 忽略了该脚本。
chmod 600 /etc/cron.d/myfile
解决了这个问题。