我试图找出为什么我的crontab没有运行我的python脚本,我怀疑它是由于我的参数:
这就是它的样子:
0 3 * * * root /usr/bin/python && /usr/bin/python -q /root/tools/script.py parm1 parm2 2>&1 >>/var/log/python-tools.log
所以基本上我可以在终端中运行它:
$ python script.py parm1 parm2
但是当我尝试使用crontab中的上述行时,它无法正常工作
答案 0 :(得分:1)
首先,这个脚本必须从root运行吗?这通常是一个坏主意。
其次使用&&,这意味着它只会在命令退出之前运行命令成功,因为在第一个命令中你只运行python而它实际上并没有做任何你不可能得到的事情带有成功代码的退出。
答案 1 :(得分:1)
-q
是python
的无效参数。你不应该在它之前有/usr/bin/python &&
。
0 3 * * * root /usr/bin/python /root/tools/script.py parm1 parm2 2>&1 >>/var/log/python-tools.log