我有一个脚本,它在 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
解决了这个问题。