Régulièrement, je me retrouve à copier de gros fichiers via rsync
, et étant donné que je suis souvent dans des endroits sans connexion Internet stable, je me retrouve à relancer rsync
plusieurs fois jusqu’à la réussite de la commande.
Il est possible d’utiliser while
pour ça, mais while
continue de tourner tant que son test réussi, du coup il faut capturer le code de retour, tester la condition contraire, etc. Donc à moins de faire un petit script ça fait beaucoup à taper juste pour une commande ad hoc.
C’était sans compter sur l’existence de la commande until
, qui vas continuer de relancer la commande tant qu’elle échoue.
Ça s’utilise de la manière suivante :
$ until <mettre la commande ici>; do echo "Retrying at `date -Iminutes`"; done
Donc avec rsync
ça donne :
$ until rsync -aP src:/path/to/copy dest/; do echo "Retrying at `date -Iminutes`"; done
Et si vous êtes vraiment fainéant, vous pouvez toujours faire un alias (laissé en exercice pour le lecteur ;) ).
Cet article a été initialement publié sur mayeu.me.
Top comments (0)