J'ai un petit soucis et j'arrive pas à trouver la solution.
J'ai des scripts bash qui tournent pour générer des pages html.
Lorsque je lance le script manuellement, ça fonctionne trés bien.
Le script démarre, lance un autre script plusieurs fois (environ 900
fois), sans problèmes, lance ensuite d'autres scripts, etc...
Si je le crontabe, il se lance bien à l'heure demandée, mais ça bloque au
bout d'un moment, lorsqu'il lance le premier script (au bout du 15 à 20
appels du script, c'est pas forcément au même moment qu'il se bloque, mais
toujours au lancement du script...
A savoir que ça marchait bien jusqu'a il y a quinze jours, depuis, ça
bloque systématiquement.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
TiChou
Dans le message <news:, *PASCAL Gilles* tapota :
Bonjour a tous.
Bonjour,
J'ai un petit soucis et j'arrive pas à trouver la solution.
J'ai des scripts bash qui tournent pour générer des pages html. Lorsque je lance le script manuellement, ça fonctionne trés bien. Le script démarre, lance un autre script plusieurs fois (environ 900 fois), sans problèmes, lance ensuite d'autres scripts, etc...
Si je le crontabe, il se lance bien à l'heure demandée, mais ça bloque au bout d'un moment, lorsqu'il lance le premier script (au bout du 15 à 20 appels du script, c'est pas forcément au même moment qu'il se bloque, mais toujours au lancement du script...
Le script est peut-être trop verbeux. Comme vous le savez, parce que le man de crontab n'a plus de secret pour vous, les sorties standard et d'erreur, si elles ne sont pas redirigées, sont retournées par mail à l'utilisateur du cron lancé. Si ces sorties excèdent une taille critique, afin d'éviter de saturer la mailbox de l'utilisateur, le cron est interrompu. Vérifiez donc que le problème ne se situe pas là. Placez éventuellement une redirection des sorties à la fin de la ligne de votre cron :
* * * * * script &>/dev/null
ou
* * * * * script 1>cron.out 2>cron.err
Je vous invite aussi à lire les archives du groupe, car les mêmes questions sur crontab reviennent très souvent.
-- TiChou
Dans le message <news:pan.2004.03.05.15.46.12.877796@wanadoo.fr>,
*PASCAL Gilles* <coop.ardechoise@wanadoo.fr> tapota :
Bonjour a tous.
Bonjour,
J'ai un petit soucis et j'arrive pas à trouver la solution.
J'ai des scripts bash qui tournent pour générer des pages html.
Lorsque je lance le script manuellement, ça fonctionne trés bien.
Le script démarre, lance un autre script plusieurs fois (environ 900
fois), sans problèmes, lance ensuite d'autres scripts, etc...
Si je le crontabe, il se lance bien à l'heure demandée, mais ça bloque au
bout d'un moment, lorsqu'il lance le premier script (au bout du 15 à 20
appels du script, c'est pas forcément au même moment qu'il se bloque, mais
toujours au lancement du script...
Le script est peut-être trop verbeux.
Comme vous le savez, parce que le man de crontab n'a plus de secret pour
vous, les sorties standard et d'erreur, si elles ne sont pas redirigées,
sont retournées par mail à l'utilisateur du cron lancé.
Si ces sorties excèdent une taille critique, afin d'éviter de saturer la
mailbox de l'utilisateur, le cron est interrompu.
Vérifiez donc que le problème ne se situe pas là. Placez éventuellement une
redirection des sorties à la fin de la ligne de votre cron :
* * * * * script &>/dev/null
ou
* * * * * script 1>cron.out 2>cron.err
Je vous invite aussi à lire les archives du groupe, car les mêmes questions
sur crontab reviennent très souvent.
J'ai un petit soucis et j'arrive pas à trouver la solution.
J'ai des scripts bash qui tournent pour générer des pages html. Lorsque je lance le script manuellement, ça fonctionne trés bien. Le script démarre, lance un autre script plusieurs fois (environ 900 fois), sans problèmes, lance ensuite d'autres scripts, etc...
Si je le crontabe, il se lance bien à l'heure demandée, mais ça bloque au bout d'un moment, lorsqu'il lance le premier script (au bout du 15 à 20 appels du script, c'est pas forcément au même moment qu'il se bloque, mais toujours au lancement du script...
Le script est peut-être trop verbeux. Comme vous le savez, parce que le man de crontab n'a plus de secret pour vous, les sorties standard et d'erreur, si elles ne sont pas redirigées, sont retournées par mail à l'utilisateur du cron lancé. Si ces sorties excèdent une taille critique, afin d'éviter de saturer la mailbox de l'utilisateur, le cron est interrompu. Vérifiez donc que le problème ne se situe pas là. Placez éventuellement une redirection des sorties à la fin de la ligne de votre cron :
* * * * * script &>/dev/null
ou
* * * * * script 1>cron.out 2>cron.err
Je vous invite aussi à lire les archives du groupe, car les mêmes questions sur crontab reviennent très souvent.