1 votes

Erreurs lors de l'exécution de la tâche cron : le petit-fils n°10010 a échoué avec le code de sortie 2 : 1 fois(es)

Au cours des dernières semaines, j'ai vu ce type d'erreur de nombreuses fois sur mes serveurs debian 6.

J'ai vu différents codes de sortie, 1, 2, 25, 255

 Erreurs lors de l'exécution de cron:
sous-processus #10010 a échoué avec le code de sortie 2: 1 fois(s)
sous-processus #10042 a échoué avec le code de sortie 2: 1 fois(s)
sous-processus #10062 a échoué avec le code de sortie 2: 1 fois(s)
sous-processus #10080 a échoué avec le code de sortie 2: 1 fois(s)

ou

Erreurs lors de l'exécution de cron:
sous-processus #23015 a échoué avec le code de sortie 25: 1 fois(s)
sous-processus #23115 a échoué avec le code de sortie 25: 1 fois(s)
sous-processus #23223 a échoué avec le code de sortie 25: 1 fois(s)
sous-processus #23319 a échoué avec le code de sortie 25: 1 fois(s)
sous-processus #23432 a échoué avec le code de sortie 25: 1 fois(s)
sous-processus #23510 a échoué avec le code de sortie 25: 1 fois(s)

En regardant le syslog, ça ressemble à ceci:

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 (sous-processus #10548 a échoué avec le code de sortie 2)

J'ai vu cela sur de nombreux serveurs, avec différents cronjobs, et je n'ai pas encore compris ce qui se passe. Donc, j'ai deux questions:

  1. que signifient les codes de sortie? (1, 2, 25 ou 255).
  2. que puis-je faire pour tester cela plus en détail? Est-ce que quelqu'un a déjà vu ça auparavant?

note: oui, j'ai cherché sur Google, mais je n'ai pas trouvé de solution adaptée à mon cas.

certaines de ces tâches cron génèrent une erreur comme celle-ci à chaque fois, d'autres le font seulement de temps en temps.

les tâches ne sont pas toutes les mêmes, mais elles ressembleraient à ceci:

*/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

dites-moi s'il y a plus d'informations que je peux vous donner.

1 votes

Quels sont les journaux de votre script Perl pour les appels échoués? Et pourquoi parlez-vous de mysql dans votre question? Je ne vois rien ici lié à mysql.

0 votes

Désolé, mon commentaire était erroné, ceci est un problème de cron et perl, pas directement mysql.

1voto

fuero Points 9047

Essayez de créer des fichiers de script pour vos tâches dans /usr/local ou /opt et appelez-les avec cron.

D'après les codes de sortie, il semble probable que vous ayez créé des commandes invalides dans crontab. Certains builtins shell (cd, source, etc.) peuvent ne pas être disponibles. Je préfère créer des scripts pour les commandes plus complexes à exécuter avec cron. Cela les rend également plus faciles à tester.

Par exemple, pour la ligne que vous avez publiée:

*/1 * * * * www-data /usr/local/sample-task.sh

/usr/local/sample-task.sh se lit comme suit :

#!/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

N'oubliez pas d'exécuter chmod +x /usr/local/sample-task.sh.

Exécutez d'abord manuellement cela (sudo -u www-data /usr/local/sample-task.sh) pour vérifier que cela fonctionne, puis laissez cron le démarrer.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X