За последние недели я много раз встречал этот тип ошибок на своих серверах debian 6.
Я видел разные статусы выхода: 1, 2, 25, 255
Errors when running cron:
grandchild #10010 failed with exit status 2: 1 Time(s)
grandchild #10042 failed with exit status 2: 1 Time(s)
grandchild #10062 failed with exit status 2: 1 Time(s)
grandchild #10080 failed with exit status 2: 1 Time(s)
или
Errors when running cron:
grandchild #23015 failed with exit status 25: 1 Time(s)
grandchild #23115 failed with exit status 25: 1 Time(s)
grandchild #23223 failed with exit status 25: 1 Time(s)
grandchild #23319 failed with exit status 25: 1 Time(s)
grandchild #23432 failed with exit status 25: 1 Time(s)
grandchild #23510 failed with exit status 25: 1 Time(s)
глядя на системный журнал, это выглядит так:
Mar 6 06:41:01 myhost /USR/SBIN/CRON[10548]: (www-data) CMD (cd /home/httpd/cgi/inst && /usr/bin/perl /home/httpd/cgi/inst/scheduler.cgi > /dev/null
Mar 6 06:41:01 myhost /USR/SBIN/CRON[10546]: (CRON) error (grandchild #10548 failed with exit status 2)
Я видел это на многих серверах с разными cronjobs, но я еще не понял, что происходит. Итак, у меня два вопроса:
примечание: да, я погуглил, но не нашел решения, подходящего для моего случая.
некоторые из этих заданий cron выдают подобные ошибки каждый раз, другие делают это только от случая к случаю.
не все задания одинаковы, но они будут выглядеть примерно так:
*/1 * * * * www-data cd /home/httpd/sites/cust/cgi/ && perl /home/httpd/sites/cust/mysoft/core/bin/scheduler.pl >> /home/httpd/sites/cyst/logs/scheduler_cron.log 2>&1
дайте мне знать, если я могу вам предоставить дополнительную информацию.
Попробуйте создать файлы сценариев для ваших задач в /usr/local
или /opt
и вызовите тех, у кого есть cron.
Из коды выхода, похоже, что вам удалось создать недопустимые команды в crontab
. Некоторые встроенные команды оболочки (компакт-диск, исходный код и т. Д.) Могут быть недоступны. Я предпочитаю создавать сценарии для более сложных команд, запускаемых cron. Это также упрощает их тестирование.
Например. для опубликованной вами строки:
*/1 * * * * www-data /usr/local/sample-task.sh
/usr/local/sample-task.sh
гласит:
#!/bin/bash
cd /home/httpd/sites/cust/cgi/
/usr/bin/perl /home/httpd/sites/cust/mysoft/core/bin/scheduler.pl >> /home/httpd/sites/cyst/logs/scheduler_cron.log 2>&1
Не забывай бежать chmod +x /usr/local/sample-task.sh
.
Сначала запустите это вручную (sudo -u www-data /usr/local/sample-task.sh
), чтобы убедиться, что он работает, дайте cron запустить его.