Cron作业有时因curl错误而失败

时间:2017-09-28 07:18:47

标签: bash ubuntu curl cron bin

我在(Ubuntu 14 Trusty)做了一个cron工作,就像这样:

sudo crontab-e

then

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    * * * * * curl --silent http://www....cron_script.php >  /dev/null

但有时候,我会在皇冠工作中收到此错误消息:

/etc/cron.hourly/curl:
/etc/cron.hourly/curl: line 5: bin: command not found
run-parts: /etc/cron.hourly/curl exited with return code 127

有人可以告诉我为什么吗?正如您所看到的,它每分钟运行一次,但每小时一次,我会收到该错误消息。大部分时间是每小时XX:54分钟。

提前致谢!

2 个答案:

答案 0 :(得分:1)

您的crontab应该包含以下行:

  

PATH =的/ usr / local / sbin中:在/ usr / local / bin中:/ usr / sbin目录:在/ usr / bin中:/ sbin目录:/ bin中

由于您已将路径放在crontab每小时脚本中,因此每小时执行一次会导致错误显示

改为创建一个脚本并将两行放在那里

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
curl --silent http://www....cron_script.php

然后在crontab中运行脚本

* * * * * my_script.sh >  /dev/null 2>&1

Crontab应该只包含遵循以下格式的行:

  

m h dom mon dow command

答案 1 :(得分:0)

我认为从crontab运行时无法找到命令curl,所以你需要which curl它会在你的框中找到它的位置。然后尝试将curl命令的确切路径,例如 - > /usr/bin/curl提供给cron条目,并告诉我这是否对您有所帮助。此外,您的路径详细信息应添加到用户的运行crontab的DOT / BASH配置文件中,然后它也可以在不提供curl命令的完整路径的情况下工作。