meilleur moyen de vérifier par programme pour un scp échoué dans un script shell
J'ai un script shell que je travaille avec cette ligne de code qui fait une boucle à travers les fichiers locaux (.gz) et fait une scp. Je veux tester un échec scp
si possible. Je suis en train de faire une boucle afin que je puisse l'écho de chaque nom de fichier dans un journal afin que je puisse en garder la trace.
Quelqu'un peut me montrer comment faire pour vérifier échec de la scp? ou mieux encore, un bon exemple de code pour faire cela? Merci pour votre aide.
for gzfile in $LOCALDMPDIR/*.gz
do
/usr/bin/scp -P 2222 -i $KEYFILE $gzfile [email protected]$1:$TGTDIR
echo "$gzfile is done. " 2>&1
done
source d'informationauteur jdamae
Vous devez vous connecter pour publier un commentaire.
Utiliser $? pour accéder à la valeur de retour de la dernière commande. Voir la page de man pour scp pour vérifier, mais je pense qu'un retour de la valeur de zéro signifie le succès. Une valeur différente de zéro signifie une sorte d'échec.
utilisation :
Vous pouvez vérifier la grandeur
$?
pour voir le code de retour descp
. Si elle renvoie une valeur autre que zéro, alors une erreur s'est produite.Vous pouvez également essayer de capturer l'erreur d'un journal:
Pour la simpleminded comme moi qui ont passé plus de temps que la normale de jouer avec les erreurs de formatage: