【问题标题】:python script execution through crontab通过crontab执行python脚本
【发布时间】:2011-03-09 18:03:33
【问题描述】:

我在 python 中的脚本不是每分钟都通过 crontab 会发生什么。 我的脚本具有执行权限,然后在 python 中调用另外两个脚本。


This is the content of my crontab (#crontab -l):
*/1 * * * * /usr/bin/rsm/samplesMonitor.py
感谢你们。

【问题讨论】:

  • 您的文件的确切权限是什么?

标签: python cron execution crontab


【解决方案1】:

检查/var/log/syslog 是否有错误。

DIAGNOSTICS
       cron requires that each entry in a crontab end in a 
       newline character. If the last entry in a crontab is 
       missing a newline (ie, terminated by  EOF),  cron  will 
       consider the crontab (at least partially) broken. A 
       warning will be written to syslog.

更新:根据您的日志消息,脚本正在运行但返回错误代码。如果您安装了邮件代理,Cron 会将输出通过电子邮件发送给您。

试试:

  1. 安装邮件代理,如:apt-get install exim4
  2. 更改您的 cron 行以记录到文件,如下所示:

    * * * * * /usr/bin/rsm/samplesMonitor.py 2>&1 >> /tmp/script.log
    

更新 2: 我重新阅读了您的问题,我意识到您可能遇到了 python 导入问题。你说你的脚本调用了另外两个脚本。我的建议是测试从/ 运行您的脚本。 Python 具有在当前工作目录中查找导入的默认行为,因此请确保您的脚本可以从任何路径位置运行。

在 crontab 中,您可以通过在另一个 shell 进程中调用脚本来设置起始工作目录。例如:

bash -c "cd THE_WORKING_DIR;/usr/bin/rsm/samplesMonitor.py"

【讨论】:

  • syslog 输出:3 月 3 日 22:48:01 carbuncle CRON[3337]:(CRON) 错误(孙 #3339 失败,退出状态为 127)3 月 3 日 22:48:01 carbuncle CRON[3337] :(CRON)信息(未安装 MTA,丢弃输出)3 月 3 日 22:48:01 carbuncle CRON[3336]:(CRON)错误(孙#3340 失败,退出状态为 127)3 月 3 日 22:48:01 carbuncle CRON[ 3336]:(CRON)信息(未安装 MTA,丢弃输出)3 月 3 日 22:50:01 痈 CRON[3356]:(tiago)CMD(根 /usr/bin/./samplesMonitor.sh)3 月 3 日 22:50 :01 痈 CRON[3357]: (root) CMD (root /usr/bin/samplesMonitor.py
  • 这很绝望,脚本单独运行(没有 cron)并通过 cron 失败!此脚本使用线程将文件发送到 Web 存储库并调用本地数据库。有小费吗?谢谢凯西和其他人。
【解决方案2】:

我认为应该是*/1,而不是*\1

【讨论】:

    【解决方案3】:

    它应该是*/1 而不是*\1(正斜杠而不是反斜杠)。另外,请确保路径正确; /usr/bin 下通常没有子目录。

    【讨论】:

    • 在我的示例中这是一个错误,但我更正了它。但是我的脚本没有运行
    • 在我的示例中这是一个错误,但我更正了它。但是我的脚本无论如何都不会运行。现在我的脚本在 /usr/bin 我的 crontab: */1 * * * * /usr/bin/samplesMonitor.py
    【解决方案4】:

    如果您希望它每分钟运行一次,就这样做

    * * * * * /usr/bin/rsm/samplesMonitor.py
    

    【讨论】:

    • 好的,但每一分钟都是一个例子,但是我的脚本无论如何都不会运行。示例(每 5 分钟):*/5 * * * * /usr/bin/samplesMonitor.py
    猜你喜欢
    • 2012-02-02
    • 1970-01-01
    • 2015-10-14
    • 2017-02-05
    • 2014-05-03
    • 2020-03-16
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多