PDA

Voir la version complète : connaitre le résultat d'une commande


uniterre
24/07/2006, 20h10
Bonjour,

J'utilise la commande rsync pour faire un backup de mes fichiers en utilisant une méthode donnée dans le forum.
Je voudrais ajouter une fonction me permettant de recevoir un email à chaque sauvegarde. Et pour cela, je voudrais connaitre le résultat de la commande rsync. Si oui ou non elle a bien fonctionnée.
Comment faire ? Utiliser les 2>/dev/null ?

#!/bin/sh
rsync -avzC --delete --delete-after ns34592.ovh.net::blog/ /home/tele/

mmerlay
25/07/2006, 00h33
Salut,

Le code d'erreur retourné par la précédente commande exécutée dans un shell peut être lue avec la variable $?

Généralement, quand le programme a été exécuté avec succès (ping réussi ou bien rsync réussi), le code erreur est 0. Si jamais c'est un autre chiffre alors c'est qu'il y a eu un problème. Pour connaître la correspondance entre le numéro et l'erreur exacte, il est possible de se reporter :
- au code source du programme
- aux man-pages ou la documentation en général.

Exemple :

ping -c 1 www.google.fr
OK : ça marche

echo $? (retourne 0)

ping -c 1 www.gogle.fr
ERREUR : unknown host www.gogle.fr

echo $? (retourne 2)