CRON在重启时没有启动我的python脚本

时间:2013-12-04 13:20:00

标签: linux crontab

问题:无法让我的python脚本在重启时运行

我使用Nano

编辑/etc/crontab

要编辑的已编辑文件(保留文件中的所有默认文本)

@reboot root screen -d -m -S Rusty /root/rustynail.py

通过这个网站,我看到了很多关于PATH的内容。 由于我有指定的完整路径,我不认为这是问题。 很高兴被证明是错误的。

我已经通过将CRONTAB更改为

来测试屏幕
@reboot root screen -d -m -S rusty ping 8.8.8.8

这可以按预期工作

当我以root身份登录时,脚本运行正常。 尝试将shell更改为shell / bin / bash。

CRONTAB中的其他功能正常。 我每天都有一个rsync启动 和重新启动时的mount.cifs。

我已设置日志目录并查看/var/log/syslog, 使用命令grep CRON var/log/syslog

输出=

(root) cmd (screen -d -m -S rusty /root/rustynail.py

任何想法都将不胜感激 Noob对Linux,对不起,如果显而易见的话。


好的,经过进一步测试后我发现了这个。 如果我使用crontab -e并将python脚本设置为每分钟运行

"* * * * *" screen -d -m /root/rustynail.py  >> /var/log/myscript.log 2?&1

按预期工作!我认为这证明它不是PATH或BASH问题。

如果我将* * * * *替换为@reboot screen -d -m.. ... . .. etc 它不起作用。

我的第一个想法是,正在创建屏幕并且脚本在网卡启动之前运行,因此当脚本尝试将数据发送到外部地址时,它会失败,导致脚本停止并关闭屏幕窗口

BUT

我的NAS @reboot的脚本之后我有另一个mounts.cifs,每次都可以正常工作。 拜托,欢迎任何想法。

1 个答案:

答案 0 :(得分:1)

通过在Python脚本开始执行任何操作之前放置30秒延迟来修复它 在脚本运行之前,猜测问题必须与未准备好的事情有关。 希望这有助于其他人

感谢任何花时间在这个问题上的人