1

我正在尝试安排一个 python 脚本每分钟或每小时运行一次。

到目前为止我做了什么:

crontab -e

在我添加的 crontab 文件中

* * * * * /usr/bin/python /path/to/script/script.py

保存文件后,我收到消息

crontab:安装新的 crontab

但是 crontab 没有运行脚本。

有任何想法吗?

谢谢, 迪兹

4

2 回答 2

0

我发现了问题,我将把解决方案放在这里,也许它可以帮助某人。我尝试按照 Rafal 的建议输入 crontab -e * * * * * /usr/bin/python /path/to/script/script.py >>/tmp/script.out 2>&1 但输出为空白。

昨晚我读了很多关于 crontab 的内容,我发现如果您使用带有 crontab 的脚本并将输出写入某个文件,您将需要修改脚本并输入文件的确切路径。如果您不输入完整路径,则脚本将在您手动运行时起作用。如果您使用 crontab 运行该脚本,它仍然可以工作,但它不知道将其输出放在哪里。

所以修改

with open('output.txt', 'a') as f

with open('/path/to/file/output.txt', 'a') as f

为我完成了这项工作。

谢谢, 迪兹

于 2013-07-31T06:54:40.497 回答
0

根据脚本(例如向控制台打印消息的脚本),您将无法区分脚本是否正在运行。

您可以通过在控制台中键入以下内容来确保 crontab 正常运行:

tail -f /var/log/syslog

于 2016-10-05T23:12:12.307 回答