Exécuter des commandes sur plusieurs serveurs en shell, utilisation simple de pssh

Parallel-ssh est un utilitaire vous permettant d'exécuter des commandes sur plusieurs serveurs Linux distants en utilisant un terminal, cet outil est une partie de Pssh (ou parallel-ssh), qui fournit des versions parallèles de OpenSSH et d'autres outils similaires, tels que:

parallel-scp : est utilitaire pour copier des fichiers en parallèle à un certain nombre d'ordinateurs.

parallel-rsync : est un utilitaire de synchronisation de répertoire sur plusieurs hôtes en parallèle.

parellel-nuke : il aide à tuer les processus sur plusieurs hôtes distants en parallèle.

parellel-slurp : il aide à copier des fichiers à partir de plusieurs hôtes distants à un hôte central en parallèle.

Petit lien avec l'article c'est un autres outils) Comment configurer des clés SSH sur un système Linux

Installation sous debian :

aptitude install pssh

Exécuter des commandes vers plusieurs serveurs Linux :

Créons un nouveau fichier appelé “myservers.txt” et ajoutons la liste des adresses IP Linux avec les ports SSH utilisés (par défaut le 22), j'ai aussi précisé le login :

192.168.1.100:22 ksh
192.168.1.99:22 ksh

Donc, le fichier est constitué comme cela :

<IP_SERVEUR>:<PORT> <LOGIN>

Après avoir ajouté vos hôtes Linux dans le fichier, c'est le moment d'exécuter des commandes vers vos multiple hôtes Linux comme par exemple le temps de mise en route des serveurs uptime, comme cela :

parallel-ssh -h test.txt -P "uptime"
192.168.1.100: 09:21:38 up 11 days, 51 min, 0 users, load average: 4,16, 4,20, 3,94
[1] 09:22:20 [SUCCESS] ksh@192.168.1.100:22
192.168.1.99: 09:21:38 up 2 days, 26 min, 0 users, load average: 4,39, 3,30, 3,36
[2] 09:22:21 [SUCCESS] ksh@192.168.1.99:22

Les options :

-h : Option utilisé pour indiquer le fichier qui contient les hôtes

-v : Option utilisé pour avoir parallel-ssh plus verbeux.