[HS] - script de relève d'information
Le
Nahliel Steinberg

Bonjour,
J'essai de faire un script pour relever les version des OS de mes serveurs =
+ ip et d'autres infos que je rajouterai.
Je n'arrive pas à mettre en page dans un fichier texte, par exemple l'ip =
+ la version
J'aimerai à terme avoir
hostname : ip : version os
J'ai commencé comme ça :
#!/bin/bash
set +x
rm -Rf version
cat iptotalok | while read ip host;
do
echo $ip | ssh -A -n root@$ip "cat /etc/issue" >> version 2>&1 ; =
done
exit
Il ne m'affiche pas l'ip à coté de la version
Pouvez-vous m'aider ?
--
Nahliel
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20131120091742.4d407df06f23ea46c18e7681@gmail.com
J'essai de faire un script pour relever les version des OS de mes serveurs =
+ ip et d'autres infos que je rajouterai.
Je n'arrive pas à mettre en page dans un fichier texte, par exemple l'ip =
+ la version
J'aimerai à terme avoir
hostname : ip : version os
J'ai commencé comme ça :
#!/bin/bash
set +x
rm -Rf version
cat iptotalok | while read ip host;
do
echo $ip | ssh -A -n root@$ip "cat /etc/issue" >> version 2>&1 ; =
done
exit
Il ne m'affiche pas l'ip à coté de la version
Pouvez-vous m'aider ?
--
Nahliel
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20131120091742.4d407df06f23ea46c18e7681@gmail.com
:
’jour,
`version` est un fichier, le -R n’a aucun intérêt.
UUOC¹ : `while … done < iptotalok`
¹ utilisation inutile de cat
Les options -A et -n de ssh n’ont pas d’intérà ªt ici.
Le tube envoie la sortie en entrée de la commande qui suit.
Comme ssh a déjà une commande en paramètre, c’es t elle qui est
exécutée donc l’IP envoyée ne gêne pas.
Ce que tu veux, c’est concaténer la sortie de deux comma ndes,
pas envoyer la sortie de la première en entrée de la seconde. Il
suffit donc simplement d’exécuter les commandes l’ une après
l’autre.
Et pour qu’`echo` n’envoie pas de fin de ligne (et do nc que la
suite soit sur la même ligne), utilise son option `-n`.
echo -n $ip >> version
ssh … >> version
Dans des cas plus complexes, p.ex. pour envoyer la sortie de
plusieurs commandes en entrée d’une autre, on peut grouper les
commandes, soit dans une fonction :
bla() {
cmd-1
cmd-2
}
bla | cmd-3
soit dans un sous-shell :
(cmd-1 && cmd-2) | cmd-3
soit plus simplement dans une liste :
{ cmd-1; cmd-2; } | cmd-3
Le exit ne sert pas à grand-chose si tu ne changes pas le code
de retour (`help exit`).
Lis la page de man de dash en entier (courte et complète). Si
tu n’es pas à l’aise avec l’anglais, lis c elle de bash, même si
elle est plus complexe, elle existe en français.
Lis toujours les pages de man des programmes (et `help` pour
les commandes du shel) que tu utilises pour vérifier leurs
options.
Et, surtout avant de les mettre dans une boucle, essaie tes
commandes.
--
Sylvain Sauvage
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/