crontab 运行 一个带参数的 python 脚本
Crontab running a python script with parameters
我想弄清楚为什么我的 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 中使用上面的行时它不起作用
首先,这个脚本必须 运行 来自 root 吗?这通常是个坏主意。
其次使用&&,这意味着只有当前面的命令成功退出时,它才会运行后面的命令,因为在第一个命令中你只是运行宁python 而且它实际上并没有做任何你不太可能通过成功代码退出的事情。
-q
是 python
的无效参数。而且你不应该在它之前有 /usr/bin/python &&
。
0 3 * * * root /usr/bin/python /root/tools/script.py parm1 parm2 2>&1 >>/var/log/python-tools.log
我想弄清楚为什么我的 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 中使用上面的行时它不起作用
首先,这个脚本必须 运行 来自 root 吗?这通常是个坏主意。
其次使用&&,这意味着只有当前面的命令成功退出时,它才会运行后面的命令,因为在第一个命令中你只是运行宁python 而且它实际上并没有做任何你不太可能通过成功代码退出的事情。
-q
是 python
的无效参数。而且你不应该在它之前有 /usr/bin/python &&
。
0 3 * * * root /usr/bin/python /root/tools/script.py parm1 parm2 2>&1 >>/var/log/python-tools.log