我尝试使用 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
。