【发布时间】:2015-06-13 01:20:16
【问题描述】:
我在 /etc/cron.weekly 目录中有一个名为 example.py 的 python 脚本
文件顶部有shebang行;
#!/usr/bin/env python
文件权限是;
-rwxr-xr-x root root
我是否遗漏了什么,或者有没有办法诊断它为什么不运行。也许是错误日志?
【问题讨论】:
我在 /etc/cron.weekly 目录中有一个名为 example.py 的 python 脚本
文件顶部有shebang行;
#!/usr/bin/env python
文件权限是;
-rwxr-xr-x root root
我是否遗漏了什么,或者有没有办法诊断它为什么不运行。也许是错误日志?
【问题讨论】:
去掉文件名中的 .py 扩展名。
根据cron手册:
文件 /etc/cron.d 下的文件不需要可执行,而 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 下的文件可以执行,因为它们是由运行部件运行(见 run-parts(8) 了解更多信息)。
来自运行部件手册:
run-parts 运行在下面描述的约束中命名的所有可执行文件,这些文件位于目录目录中。其他文件和目录将被静默忽略。
如果既没有给出 --lsbsysinit 选项也没有给出 --regex 选项,则名称必须完全由 ASCII 大小写字母、ASCII 数字、ASCII 下划线和 ASCII 减号。
因此,要测试您的脚本是否具有可接受的名称,您可以运行以下命令:
run-parts --test /etc/cron.weekly
如果您的脚本在输出中列出,那么您的脚本将被调用。
【讨论】: