Voilà que je veux lancer un ftpcopy pour avoir une copie fraîche des updates pour un RH et que badaboum, ftpcopy en cours de route plante avec un joli message "ftpcopy: fatal: cannot parse PASV answer"....
Je me gratte un coup le haut du crâne pour réveiller les deux neurones qu'il me reste et voici la solution:
écrire un script:
ftpupdate.sh
-----snip----
#!/bin/sh
#ftpupdate.sh
ftpcopy ftp://ftp.source.com . || $0
-----snip----
je lance: ftpupdate.sh et... chaque fois que ça se passe mal, la commande est relancée...
# Re: Lancer une commande qui échoue parfois en étant sûr qu'elle finisse par fonctionner complètement
Posté par _Mekare_ . Évalué à 1.
# Re: Lancer une commande qui échoue parfois en étant sûr qu'elle finisse par fonctionner complètement
Posté par kd . Évalué à 1.
Petit rappel pour ceux qui ont un poil dans la main ou qui ne veulent pas chercher dans la page man de (ba)sh :
exec commande permet de remplacer le processus courant par commande
Ainsi, $0 lance un nouveau processus, ce qui veut dire que si le programme boucle 1000 fois, au total, 1000 processus seront lancés. (et donc, mémoire vive consommés, etc...)
Avec exec $0 il n'y a qu'un seul processus.
Voilà ma modeste contribution à cette astuce
# Re: Lancer une commande qui échoue parfois en étant sûr qu'elle finisse par fonctionner complètement
Posté par Julien Danjou (site web personnel) . Évalué à 1.
avec un petit sleep éventuellement
[^] # Re: Lancer une commande qui échoue parfois en étant sûr qu'elle finisse par fonctionner complètement
Posté par Krunch (site web personnel) . Évalué à 1.
tacommande || sleep 5 || exec $0
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Lancer une commande qui échoue parfois en étant sûr qu'elle finisse par fonctionner complètement
Posté par boris . Évalué à 2.
(ohlala, j'ai honte, non, j'appuie pas sur envoyer, ah mince, si, je l'ai fait)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.