Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

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

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.

  • pssh permet de lancer des instances de SSH en parallèle
  • pscp permet de copier des fichiers en parallèle
  • prsync permet de synchroniser des fichiers sur plusieurs machines en parallèle
  • pnuke permet de shooter des processus en simultané
  • pslurp permet de récupérer des fichiers en provenance de plusieurs serveurs, vers une machine hôte principal.

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 :

En passant, je ne sais pas si vous avez vu mais l’hébergeur Hostinger propose des offres super intéressantes en matière d’hébergement web. C’est pas trop cher pour démarrer et s’auto-héberger. (Lien affilié)

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


Les articles du moment