Exécuter une commande sur plusieurs serveurs

Comme il m'arrive de plus en plus souvent de devoir exécuter une commande sur plusieurs serveurs Linux, je devais trouver une solution efficace et élégante pour éviter de lancer n fois un ssh NomServeuri MAcommande.
Bien entendu cette solution existe déjà elle s'appelle DSH pour distributed shell (ou dancer shell ) et un fois installé elle permet de lancer un :
dsh -a -M -c -- geos-config --version
pour connaitre la version de geos installé sur chaque serveur
l'option -a indique que l'on veut lancer la commande sur toutes les machines se trouvant dans /etc/dsh/machines.list
l'option -c indique que l'on veut lancer la commande en mode concurrent
l'option -M préfixe la sortie des commandes avec le nom du serveur qui a envoyé la réponse
le fichier /etc/dsh/dsh.conf permet de configurer les valeurs par défaut de certaines options
Cet outil est une source d'efficacité extraordinaire quand on a plusieurs serveurs et bien sur comme toujours pour un outil puissant il peut être aussi relativement dangereux s'il est mal utilisé.

Commentaires

Posts les plus consultés de ce blog

Comment extraire les fichiers disques en raw d'un backup proxmox vma

Find the lists of disks of your Proxmox VM stored in a ceph cluster

Comment copier une machine virtuelle kvm en raw sur un Volume Group LVM2 se trouvant sur un disque en DRBD