Crontab 不运行任何作业

Crontab 不运行任何作业

我尝试使用 crontab 运行 python 脚本,但我的 crontab 没有运行任何东西。

我尝试将作业添加到crontab -e、添加sudo crontab -e到到sudo nano /etc/crontab。我尝试使用的脚本(文件可以使用执行chmod +x,命令可以在终端中运行):

2 * * * 1-5 python3 /home/foo/bar/update.py

我将其包装到 shell 脚本中(文件可以使用 执行chmod +x,命令可以在终端中运行):

#!/bin/sh
sudo python3 /home/foo/bar/update.py

然后运行:

2 * * * 1-5 sh /home/foo/bar/run_update.sh

然后尝试运行示例作业:

* * * * * /bin/echo "cron works" >> /tmp/file
* * * * * env > /tmp/env.output

什么都没起作用,没有创建文件,日志中没有输出,如果我尝试通过管道传输到日志,也没有发生任何事情。我确信 cron 服务正在运行,但完全不知道如何让它工作。

答案1

运行时环境cron与 GUI 运行时环境有很大不同。运行

env | sort; set

在每个环境中,将结果保存到文件中。

如果你安排~/.bashrc得当,你可以在 Python 脚本前面加上

#!/bin/bash
. $HOME/.bashrc
yourPythonScript

设置您的cron环境。

man -a crontab;man -a cron

相关内容