Назад | Перейти на главную страницу

Ошибки при запуске cron: grandchild # 10010 не удалось со статусом выхода 2: 1 раз (а)

За последние недели я много раз встречал этот тип ошибок на своих серверах 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, но я еще не понял, что происходит. Итак, у меня два вопроса:

  1. коды статуса выхода, что они означают? (1, 2, 25 или 255).
  2. что я могу сделать, чтобы проверить это дальше? кто-нибудь видел это раньше?

примечание: да, я погуглил, но не нашел решения, подходящего для моего случая.

некоторые из этих заданий 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 запустить его.