Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb avec script bash et Crond

1 réponse
Avatar
PASCAL Gilles
Bonjour a tous.

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.

Quelqu'un a-t-il déjà eu ce phénomène ??

Que faire ??

A+ GIllot ;o)

1 réponse

Avatar
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