我在(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分钟。
提前致谢!
答案 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命令的完整路径的情况下工作。