【问题标题】:Cron job is not executing Python scriptCron 作业未执行 Python 脚本
【发布时间】:2017-06-22 21:44:15
【问题描述】:

我有一个脚本应该每天每 30 分钟运行一次。

 30 * * * * python /home/pi/MyScript.py

我每分钟都在测试它

 1 * * * * python /home/pi/MyScript.py

但它没有执行,是我使用了错误的路径吗?还是分钟不正确?

【问题讨论】:

  • 不会每分钟触发一次。当分钟数为1 时,它将每小时触发一次。所以在00:0101:01等处。你应该写* * * * * python ...

标签: python cron raspberry-pi


【解决方案1】:

如果你想每 30 分钟运行一次,那么 crontab 应该是这样的

*/30 * * * * python /home/pi/MyScript.py

或者像这样每 1 分钟。

*/1 * * * * python /home/pi/MyScript.py

【讨论】:

    【解决方案2】:

    你误解了语法。

    在您的第一个示例中,您告诉cron 在每小时的30th 分钟(即10:30)运行MyScript.py,而不是每隔30 分钟运行一次。

    在第二个示例中,MyScript.py 在每小时的1st 分钟运行(即10:01),而不是每分钟。

    你可能想这样做:

    */30 * * * * python /home/pi/MyScript.py
    

    现在,您的脚本将每30 分钟运行一次(10:0010:3011:00 等)。您可以将30 更改为您想要的任何间隔。

    【讨论】:

      【解决方案3】:

      您的线路:

      1 * * * * python /home/pi/MyScript.py
      

      不会每分钟都触发。当分钟数等于1 时,它将每小时触发一次,因此00:0101:0102:01 等。为了让脚本每分钟触发一次,您应该编写:

      <b>*</b> * * * * python /home/pi/MyScript.py

      如果您希望脚本每 30 分钟触发一次,您可以例如编写:

      <b>0,30</b> * * * * python /home/pi/MyScript.py

      现在脚本将在00:0000:3001:0001:30 等处触发。

      【讨论】:

      • 嗯,我改变了它,但它没有执行。也许是路径?
      • @user7998549:你能检查一下journalctl。通常 cron 产生的错误都会列在那里。
      • 那里没什么可看的,我不知道 tbh
      • @user7998549: 你能写* * * * * python /home/pi/MyScript.py &gt; ~/log.log 2&gt; ~/log.err 这样cron 将stdout 和stderr 写入你可以检查的文件吗?
      • 好吧,我对 Python 很陌生
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 2020-01-21
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 2017-07-18
      相关资源
      最近更新 更多