【发布时间】:2020-07-09 00:27:35
【问题描述】:
我已经安排了一个如下所示的 Cron 作业,但它没有执行。我需要在前面放命令还是只写路径。
- 在 cronjob 中使用命令:
0 4 * * 1 python /app/www/html/RegionSubregion/ceeinca.py - cronjob 中没有命令:
0 4 * * 1 /app/www/html/RegionSubregion/ceeinca.py
这里哪一个是正确的? 我需要在每周的第一天(星期一)凌晨 4 点运行这个特定的 python 脚本。请指导。谢谢。
【问题讨论】:
-
如果您的 python 脚本运行良好,那么您至少应该尝试使用 python 的完整路径运行它。
$PATH可能与您的普通用户不同。其他解决方案:在 crontab 开始时设置$PATH。 -
谢谢,python 脚本可以正常工作,并且可以使用完整路径。但它不适用于 cron 工作。我需要知道选项 1 正确还是选项 2?
-
我的意思是 python 可执行文件的完整路径,例如:
0 4 * * 1 /usr/bin/python /app/www/html/RegionSubregion/ceeinca.py。在你的python脚本之前使用python或/usr/bin/python,取决于你:你可以chmod它可执行并通过#!/usr/bin/env python之类的东西启动你的ceeinca.py(也许还有python的完整路径? ) 或者让它没有第一行,不能执行并通过 python 运行它。 -
您需要选项 1。您需要在您的
crontab中正确设置PATH以便它包含python的位置,或者,对于选项 1,指定整个路径python如前所述。 -
首先:您应该尝试几次(所以将工作放在现在附近),然后测试两者中的哪一个有效,然后您可以更改时间。通常我们在调用 python 之前放一个
activate...。如果主 python 没有所有模块,这很重要。