#1 Le 30/06/2014, à 13:07
- d0ctrine
Detecter les erreurs des commandes envoyées par ssh
Bonjour à tous,
je dois effectuer une mise à jour d'équipement, voilà mon script :
#!/bin/bash
for line in $(cat ip.txt); do ssh ****:*****@$line 'nvram set crontab="$(nvram get crontab | sed '/reboot/s/1/2/')" && nvram commit';
done
Le script parcours une liste d'ip et effectue la modification de la nvram sur chaque device. Mais comment savoir si la mise à jour c'est bien passée ? J'aimerais créer deux fichiers ou sont envoyés le nom des devices ou la mise à jour c'est bien passée et un autre ou la mise à jour a planté. Une idée de comment récupérer un message d'erreur provoqué par les commandes envoyées par ssh ?
Merci d'avance.
Cordialement.
Hors ligne
#2 Le 30/06/2014, à 14:02
- tiramiseb
Re : Detecter les erreurs des commandes envoyées par ssh
Salut,
Le client "ssh" retourne le code d'erreur de la commande qu'il exécute, tu peux donc faire les tests habituels comme si tu avais exécuté la commande localement.
Pareil pour la sortie standard, ça passe de manière "transparente" par SSH...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 01/07/2014, à 07:21
- nesthib
Re : Detecter les erreurs des commandes envoyées par ssh
Au passage :
while read ip_addr
do
ssh …@${ip_addr} …
done <ip.txt
Ça serait un peu plus propre (cat inutile et sous-shell).
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#4 Le 01/07/2014, à 08:59
- tiramiseb
Re : Detecter les erreurs des commandes envoyées par ssh
En effet, bonne idée nesthib !
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne