gpt4 book ai didi

bash - Cronjob 不运行 Python 脚本,即使它具有执行权限和对 python 完整路径的 hashbang。在 cronjob 之外正常工作

转载 作者:行者123 更新时间:2023-12-04 18:36:42 29 4
gpt4 key购买 nike

我的 crons 工作正常,我用简单的文件输出和 bash 脚本对其进行了测试,但在执行我的 python 脚本时,我没有尝试过任何工作。

所以这就是我所做的。

像往常一样,我在脚本中添加了一个 shebang

#! /usr/bin/python3.5

&
chmod +x myPythonScript.py

我将它添加到 crontab -e 并以各种方式进行了测试。

例子:
* * * * * /path/to/myPythonScript.py

为了确保我什至做了以下事情
* * * * * python /path/to/myPythonScript.py

* * * * * python3.5 /path/to/myPythonScript.py

* * * * * /usb/bin/python /path/to/myPythonScript.py

* * * * * /usb/bin/python3.5 /path/to/myPythonScript.py

甚至做了 */1 * * * * 和其他时间测试。

没有任何效果,如果我在 cron 之外编写所有这些,那么每次都可以正常工作。我什至更改了 crontab -e 中的 SHELL,知道它不会有任何区别,但为了确定,将脚本粘贴到/etc/cron.hourly 中,不,尝试使用/usr/bin/env python 而不是通常的shebang,尝试了其他所有愚蠢的事情,但没有成功。

Cronjobs 在运行 bash 脚本时运行良好,我什至运行了一个 bash 脚本来检查我的 python 脚本是否已启动并正在运行,并在文本日志中通知我,如果不是,重新启动它并通知我,我的文本日志充满了重新启动,那是因为它从未运行过 python 脚本,所以 cron 显然工作正常,因为它运行了 bash 脚本。

最佳答案

运行 cron 时,您应该始终将标准输出/错误写入文件以查看发生了什么。不要相信邮件,因为您的邮件服务器可能/可能不会设置。

所以,试试这个

* * * * * python /path/to/myPythonScript.py 1>/tmp/myPythonScript.out 2>/tmp/myPythonScript.err

1 分钟后检查文件/tmp/myPythonScript.{out,err} 是否存在。这将使您对正在发生的事情有一个明确的方向。

同样,总是写出你的标准输出/错误

关于bash - Cronjob 不运行 Python 脚本,即使它具有执行权限和对 python 完整路径的 hashbang。在 cronjob 之外正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41741352/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com