我在/etc/cron.weekly目录中有一个名为example.py的python脚本
文件顶部有shebang行;
#!/usr/bin/env python
文件权限是;
-rwxr-xr-x root root
我错过了什么,或者有没有办法诊断它为什么不运行。也许错误日志?
答案 0 :(得分:3)
删除文件名中的.py扩展名。
根据cron手册:
文件 在/etc/cron.d下不需要是可执行文件,而/etc/cron.hourly,/etc/cron.daily,/etc/cron.weekly和/etc/cron.monthly下的文件可以执行,因为它们是由run-parts运行(参见 run-parts(8)以获取更多信息。)
从运行部件手册:
run-parts运行在目录目录中找到的下面描述的约束内命名的所有可执行文件。其他文件和目录会被忽略。
如果既没有给出--lsbsysinit选项也没有给出--regex选项,则名称必须完全由ASCII大写和小写字母,ASCII数字,ASCII下划线和 ASCII减号连字符。
因此,要测试脚本是否具有可接受的名称,可以运行以下命令:
run-parts --test /etc/cron.weekly
如果您的脚本在输出中列出,那么将调用您的脚本。