Cron 作业有时因 curl 错误而失败
Cron job sometimes fails with error by curl
我在 (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
但有时,我会向 crown job 发送此错误消息:
/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 分钟。
提前致谢!
我认为它无法从 crontab 中找到命令 curl
而 运行,因此您需要执行 which curl
它会在您的框中为您提供它的位置。然后尝试将该 curl
命令 eg--> /usr/bin/curl
的确切路径提供给 cron 条目,如果这对您有帮助,请告诉我。此外,您的路径详细信息应该添加到用户的 DOT/BASH 配置文件中,您是 运行 crontab,然后它也可以在不提供 curl 命令的完整路径的情况下工作。
您的 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
我在 (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
但有时,我会向 crown job 发送此错误消息:
/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 分钟。
提前致谢!
我认为它无法从 crontab 中找到命令 curl
而 运行,因此您需要执行 which curl
它会在您的框中为您提供它的位置。然后尝试将该 curl
命令 eg--> /usr/bin/curl
的确切路径提供给 cron 条目,如果这对您有帮助,请告诉我。此外,您的路径详细信息应该添加到用户的 DOT/BASH 配置文件中,您是 运行 crontab,然后它也可以在不提供 curl 命令的完整路径的情况下工作。
您的 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