如何让 cron 以 root 身份运行 python 脚本?

如何让 cron 以 root 身份运行 python 脚本?

我怎样才能cron以 root 身份运行 python 脚本?这是我的 crontab 文件:

0 * * * * ./twitter/twitter.py

难道我做错了什么?

答案1

如果这是 root 的 crontab(使用sudo crontab -u root -esu -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.

你需要确保以(我假设它是一个Python脚本)twitter.py开头并且在cron的默认值中(这将取决于你的unix品牌;你可以确定它在默认值中,但是如果你的位于其他地方,例如,您可能需要添加一行(如crontab 顶部的行)。#!/usr/bin/env pythonpythonPATH/usr/binPATHpython/usr/local/binPATH=/usr/local/bin:/bin:/usr/bin

还要确保脚本可执行 ( chmod +x …/twitter.py)。

相关内容