根 Crontab 不运行 Python 脚本

根 Crontab 不运行 Python 脚本

我正在运行 Debian 9。我以 root 身份登录并crontab -e添加以下行:

0 */2 * * * python /home/Folder1/Script.py
1 */2 * * * python /home/Folder2/Script.py
2 */2 * * * python /home/Folder3/Script.py
3 */2 * * * python /home/Folder4/Script.py

脚本不运行。我还尝试root在 python 之前添加来指定运行脚本的用户。我相信这个 crontab 位于/var/spool/cron/crontabs/root但我不确定这是否是“主要”位置。中没有报告与 cron 运行相关的错误或消息/var/log/syslog。我的 postfix 本地邮件中没有报告任何内容。我已经尝试过Python脚本的权限644和744。

该 cron 在用户的 crontab 上运行时有效,但在 root 上运行时无效。我已经在个人 PC (amd64 Debian 9) 和 VPS (VPS Dime amd64 Debian 9) 上尝试过此操作。

答案1

使用 crontab 时应首先添加 Python 的路径。

假设这实际上是脚本的正确完整位置,您需要以下内容:

0 */2 * * * /usr/bin/python /home/Folder1/Script.py

您还需要验证脚本中的环境变量是否为绝对路径,因为请记住,cronjobs 会以不同的方式看到这些变量。

相关内容