如何cron
以 root 身份运行 python 脚本?这是我的 crontab 文件:
0 * * * * ./twitter/twitter.py
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
Gil*_*il' 11
如果那是 root 的 crontab(用sudo crontab -u root -e
或su -c 'crontab -u root -e'
或类似的方式编辑),那么./twitter/twitter.py
将每小时运行一次。如果这是系统 crontab ( /etc/crontab
),则在星号后需要第六个字段:0 * * * * root …
。我建议使用 root 用户的 crontab 并将系统 crontab 留给系统。
./twitter/twitter.py
从当前目录开始。Cron 无法猜测您希望当前目录是什么:您从未告诉过它。将此更改为使用脚本的绝对路径,例如/home/paul/scripts/twitter/twitter.py
.
您需要确保twitter.py
以#!/usr/bin/env python
(我假设它是一个 Python 脚本)开头并且python
在 cron 的默认值中PATH
(这将取决于您的 unix 品牌;您可以确定它/usr/bin
在默认值中PATH
,但是如果您的python
住在其他地方,例如/usr/local/bin
,您可能需要PATH=/usr/local/bin:/bin:/usr/bin
在 crontab 顶部添加一行)。
还要确保脚本是可执行的 ( chmod +x …/twitter.py
)。