Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1611 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  bash : script de vérification sur serveur

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

bash : script de vérification sur serveur

n°1374632
lembzzz
Follow The Signs ...
Posté le 12-03-2015 à 14:26:11  profilanswer
 

Bonjour,
 
Je cherche à mettre au point un petit script bash pour effectuer les actions suivantes :
 
* lire un fichier de paramétrage qui contient une liste de serveur/adresses ip.
* connexion sur chacun de ces serveurs/adresses ip.
* check d'un certain nombre de paramètres : version précise de l'os du serveur, vérification du fichier /etc/resolv.conf
 
J'ai commencé avec les lignes suivantes :
 

#!/bin/bash
# Script de controle de serveur
 
# Declaration variable liste contenant la liste des serveurs
liste=/tmp/liste_serveurs.txt
 
# Boucle de lecture du fichier et affichage /etc/redhat-release des serveurs
while read line
do
        ssh root@"$line" cat /etc/redhat-release
done < $liste

 
Je précise que je suis autorisé à me connecter en tant que user root sur les serveurs que je souhaite checker ;)
 
Problème : le script lit juste la première ligne du fichier, m'affiche le contenu de /etc/redhat-release & sort du script :(
J'ai essayé de rajouter un sleep dans ma boucle mais ça ne change rien.
 
Bref, je suis coincé :(

mood
Publicité
Posté le 12-03-2015 à 14:26:11  profilanswer
 

n°1374633
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 12-03-2015 à 15:04:39  profilanswer
 

si ce n'est pas pour "l'exercice de le concevoir" tu devrais TRES VIVEMENT t'intéresser à des outils de config management comme puppet et chef, voire ansible et salt. tu peux aussi utiliser fabric pour ça


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1374634
lembzzz
Follow The Signs ...
Posté le 12-03-2015 à 15:19:52  profilanswer
 

C'est exactement ça, je cherche à le faire pour le fun, ce qui me permet également de bidouiller en bash :)


---------------
Mon Feed
n°1374635
ahbahlut
UTC-8
Posté le 12-03-2015 à 15:35:32  profilanswer
 

Hello,
 
As tu vérifié le format de fichier tu lui passes, je suppose que le while read line s'appuie sur le saut de ligne Unix ?!
 
je viens de tester sur une machine et ça crache bien ligne par ligne le truc :
 

Code :
  1. #!/bin/bash
  2. FILE=/etc/passwd
  3. while read line ; do
  4.         echo $line
  5. done < $FILE


 

Code :
  1. root@CDLVW030:/root # ./test.sh
  2. 100:x:100:101:User for D-BUS:/var/run/dbus:/bin/false
  3. 101:x:101:102:User for haldaemon:/var/run/hal:/bin/false
  4. at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash
  5. bin:x:1:1:bin:/bin:/bin/bash
  6. daemon:x:2:2:Daemon:/sbin:/bin/bash
  7. ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
  8. games:x:12:100:Games account:/var/games:/bin/bash
  9. [...]

n°1374638
lembzzz
Follow The Signs ...
Posté le 12-03-2015 à 15:47:54  profilanswer
 

J'ai oublié de préciser, mais effectivement le fait de faire un echo dans ma boucle while affiche bien l'intégralité du fichier en entrée.


---------------
Mon Feed
n°1374639
ahbahlut
UTC-8
Posté le 12-03-2015 à 16:28:28  profilanswer
 

Effectivement je viens d'essayer avec un ssh $liste 'uname -a' en boucle et seul le premier passe.
 
il te faut ajouter l'option -n à ssh pour que cela fonctionne :

Code :
  1. ssh -n root@"$line" cat /etc/redhat-release


 
 
J'ai trouvé la solution ici :
 
http://www.linuxquestions.org/ques [...] dy-798036/
 
autre solution :
 

Code :
  1. ssh root@"$line" cat /etc/redhat-release < /dev/null


Message édité par ahbahlut le 12-03-2015 à 16:31:52
n°1374641
lembzzz
Follow The Signs ...
Posté le 12-03-2015 à 16:47:22  profilanswer
 

Ah bah oui, c'était tout bête, merci !


---------------
Mon Feed

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  bash : script de vérification sur serveur

 

Sujets relatifs
Joindre un serveur Centos à un domaine ADdonne acces au serveur web NAT
BASH : Comparer 2 fichiers et afficher les similaritésBASH : Comparer 2 fichiers et afficher les similarités
Script Bash (débutant) - manipulations chaines de charactéres ?Serveur zimbra open accessible uniquement depuis l'adresse de loopback
Installation serveur Darwin sous LinuxProblème paramètre sortie procédure script bash
Plus de sujets relatifs à : bash : script de vérification sur serveur


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR