【问题标题】:Script error when run as cronjob作为 cronjob 运行时出现脚本错误
【发布时间】:2013-08-15 15:52:52
【问题描述】:

我已经设置了一个 cronjob,如下所示,当我从 shell 运行它时,脚本运行得非常好,但是当通过 cronjob 运行时,我遇到了以下错误。

知道 cronjob 是做什么的吗?这里有什么环境问题吗?任何调试指针?

28 21,0 * * * /usr/bin/python /local/mnt/workspace/user/Automation/script.py project branch 

错误

   Traceback (most recent call last):
      File "/local/mnt/workspace/user/Automation/script.py", line 74, in <module>
        output = phCmdoutput(phCmd)
      File "/local/mnt/workspace/user/Automation/script.py", line 28, in phCmdoutput
        phPipe = Popen(phCmd, stdout=PIPE, stderr=PIPE)
      File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
        errread, errwrite)
      File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory

【问题讨论】:

    标签: python crontab


    【解决方案1】:

    看起来phCmd 在句子phPipe = Popen(phCmd, stdout=PIPE, stderr=PIPE) 中使用了某些文件或程序本身的相对路径名。您可以检查一下,并将它们更改为绝对路径。

    【讨论】:

      【解决方案2】:

      是的,存在环境问题 - 您没有相同的环境!例如,$PATH 可能会有所不同。

      最可能的原因是phCmd 通过相对路径名而不是绝对路径名包含程序名称。通过cron 运行程序时的一般规则是对所有内容使用完全限定的绝对路径名。

      【讨论】:

        猜你喜欢
        • 2021-03-17
        • 2019-08-23
        • 2020-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多