PROJET AUTOBLOG


Korben

Site original : Korben

⇐ retour index

Comment lancer une commande sur plusieurs serveurs Linux en même temps ?

mardi 15 septembre 2015 à 13:07

Si vous gérez plusieurs serveurs, sachez qu'il existe une suite d'outils qui s'appelle PSSH et qui permet grâce à différents outils d'exécuter une seule et même commande, simultanément sur toutes vos machines.

Pour installer PSSH sous Linux, il suffit d'utiliser la commande pip (Vous pouvez installer pip comme ceci : sudo apt-get install python-pip) suivante :

sudo pip install pssh

Ensuite pour utiliser pip, vous devez créer un fichier host qui contiendra la liste des IPs de toutes les machines à connecter. Ex :

192.168.0.10:22

192.168.0.11:22

Puis appeler ce fichier avec le paramètre -h dans vos commandes pssh.

Par exemple, si je veux connaitre l'état de l'espace disque sur toutes mes machines, je vais faire un petit "df -hT" simultanée comme ceci :

pssh -h pssh-hosts -l root -A -i "df -hT"

Le paramètre -h me permet de préciser quel fichier host je souhaite utiliser, le paramètre -l permet d'indiquer le nom d'utilisateur à utiliser, le paramètre -A permet de demander le mot de passe des machines et le paramètre -i permet d'afficher les infos et les messages d'erreur pour chaque hôte, les uns à la suite des autres.

psshelp

Et voici ce que la commande doit renvoyer :

Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 16:04:18 [SUCCESS] 192.168.0.10:22
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda3      ext4    38G  4.3G   32G  12% /
tmpfs          tmpfs  499M     0  499M   0% /dev/shm
/dev/sda1      ext4   190M   25M  156M  14% /boot

[2] 16:04:18 [SUCCESS] 192.168.0.11:22
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        30G  9.8G   20G  34% /
devtmpfs                devtmpfs  488M     0  488M   0% /dev
tmpfs                   tmpfs     497M  148K  497M   1% /dev/shm
tmpfs                   tmpfs     497M  7.0M  490M   2% /run
tmpfs                   tmpfs     497M     0  497M   0% /sys/fs/cgroup
/dev/sda1               xfs       497M  166M  332M  34% /boot

Pratique non ?

Vous trouverez plus d'infos sur PSSH ici.

Source