Parallel-SSH | Parralélisez Au Maximum!

| Comments

Je me suis récemment trouvé dans une situation dans laquelle je devais exécuter des commandes redondantes sur plusieurs serveurs (environnement clusterisé par exemple) et comme tout grand informaticien, je n’aime pas passer sur 50 serveurs pour répéter une tâche. Je me suis donc lancé à la recherche d’un utilitaire me permettant d’arriver à mes fins.

J’ai trouvé après quelques recherches PSSH (pour parallel-ssh) disponible à l’adresse suivante: http://www.theether.org/pssh/

Le principe est simple:

  1. Je déclare mes hosts dans un fichier
1
2
3
[email protected]
[email protected]
[email protected]
  1. Je lance PSSH en indiquant l’emplacement du fichier ci-dessus
1
pssh -P -h ~/nodes.txt -A “$MACOMMANDE

Et le tour est joué! Voici la sortie avec MACOMMANDE=’cat /etc/snmp/snmpd.conf | md5sum’ (Vérifions si le fichier snmpd.conf est strictement identique sur nos 3 serveurs).

1
2
3
4
5
6
192.168.1.1: d41d8cd98f00b204e9800998ecf8427e -
[1] 14:16:08 [SUCCESS] [email protected]
192.168.1.2: d41d8cd98f00b204e9800998ecf8427e -
[2] 14:16:08 [SUCCESS] [email protected]
192.168.1.3: d41d8cd98f00b204e9800998ecf8427e -
[3] 14:16:08 [SUCCESS] [email protected]

3 MD5 identiques = 3 fichiers identiques

Bien entendu, utilisez cet outil avec grande précaution et testez votre commande sur une machine test avant! En cas d’erreur, ce sera l’ensemble de vos serveurs configurés qui seront impactés…

Note: Il faut prélablement que les hosts soient connus par SSH dans ~/.ssh/known_hosts

More…