4 outils utiles pour exécuter les commandes sur plusieurs serveurs Linux

4 outils utiles pour exécuter les commandes sur plusieurs serveurs Linux

Dans cet article, nous montrerons comment exécuter des commandes sur plusieurs serveurs Linux en même temps. Nous expliquerons comment utiliser certains des outils largement connus conçus pour exécuter simultanément des séries répétitives de commandes sur plusieurs serveurs. Ce guide est utile pour les administrateurs système qui doivent généralement vérifier la santé de plusieurs serveurs Linux tous les jours.

Aux fins de cet article, nous supposons que vous avez déjà une configuration SSH pour accéder à tous vos serveurs et deuxièmement, lorsque vous accédez à plusieurs serveurs simultanément, il est approprié de configurer SSH sans mot de passe basé sur des clés sur tous vos serveurs Linux. Cela améliore avant tout la sécurité du serveur et permet également de faciliter l'accès.

Lire aussi: Comment configurer les connexions SSH personnalisées pour simplifier l'accès à distance

1. PSSH - SSH parallèle

Parallel-SSH est une boîte à outils Python Open Source, rapide et facile à utiliser pour exécuter SSH en parallèle sur un certain nombre de systèmes Linux. Il contient un certain nombre d'outils à diverses fins telles que ssh parallèle, parallèle, parallèle-rync, parallèle et insigne parallèle (Lisez la page homme d'un outil particulier pour plus d'informations).

À installer ssh parallèle, Vous devez d'abord installer PÉPIN Sur votre système Linux.

$ sudo apt installer python-pip python-setuptools # debian / ubuntu # yum installer python-pip python-setuptools # rhel / centos # dnf installer python-pip python-setuptools #fedora 22+ 

Puis installer ssh parallèle en utilisant pépin comme suit.

$ sudo pip installer parallel-ssh 

Ensuite, entrez les noms d'hôte ou les adresses IP du serveur Linux distant avec le port SSH dans un fichier appelé hôtes (vous pouvez le nommer tout ce que vous voulez):

$ hôtes vim 
Fichier Hosts PSSH
192.168.0.10:22 192.168.0.11:22 192.168.0.12:22 

Enregistrez le fichier et fermez-le.

MAINTENANT ssh parallèle, Spécifiez le fichier hosts à l'aide du -H option et une ou une commande qui sera exécutée sur tous les serveurs spécifiés. Le -je Flag signifie afficher sortie std et Erreur des std À mesure que l'exécution de la commande sur chaque serveur termine.

$ parallel-ssh -h hôtes "Uptime; df -h" 
Commandes de run pssh sur plusieurs serveurs Linux

Vous devez également consulter: comment exécuter plusieurs commandes sur plusieurs serveurs Linux

2. PDSH - Utilitaire de coquille à distance parallèle

Pdsh est un outil de shell à distance parallèle simple et open source pour exécuter des commandes sur plusieurs serveurs Linux en même temps. Il utilise une fenêtre coulissante de threads pour exécuter des commandes distantes.

À installer Pdsh Sur vos machines Linux, exécutez la commande appropriée ci-dessous.

$ sudo apt install pdsh # debian / ubuntu # yum install pdsh # rhel / centos # dnf installer pdsh #fedora 22+ 

Pour exécuter des commandes sur plusieurs serveurs, ajoutez les serveurs à un fichier hôte comme expliqué précédemment. Puis courez pdsh comme montré; le drapeau -w est utilisé pour spécifier le fichier hosts, et -R est utilisé pour spécifier le module de commande distant (les modules de commande distants disponibles incluent SSH, RSH, EXEC, la valeur par défaut est RSH).

Prenez note du ^ Avant le fichier des hôtes.

$ PDSH -W ^ HOSTS -R SSH "Up-temps; DF -H" 
PDSH - Exécuter les commandes dans plusieurs serveurs Linux

Dans le cas où vous ne spécifiez pas une commande distante à exécuter sur la ligne de commande comme indiqué ci-dessus, pdsh s'exécute de manière interactive, vous invitant à des commandes et en les exécutant lorsqu'il est terminé avec un retour en chariot. Pour plus d'informations, consultez la page PDSH Man:

$ man pdsh 

3. Cluster

Cluster est un outil de ligne de commande pour administrer des grappes de plusieurs serveurs en même temps. Il lance une console d'administration et un x final à tous les serveurs spécifiés vous permettant d'exécuter la même commande sur tous.

Utiliser cluster, Commencez par l'installer sur votre ordinateur Linux local comme indiqué.

$ sudo apt install clusterssh # debian / ubuntu # yum install clusterssh # rhel / centos $ sudo dnf install clusterssh #fedora 22+ 

Maintenant que vous l'avez installé, ouvrez une console d'administration et un x final sur des serveurs distants à la fois, comme suit. Pour exécuter une commande sur tous les serveurs, cliquez dans la barre d'entrée xterm et saisissez votre commande; Pour gérer un seul hôte, utilisez sa console d'administration.

$ Clusterssh Linode CServer Contabo ou $ ClustersSh [Protégé par e-mail] [Protégé par e-mail] [Protégé par e-mail] 
Clusterssh - Administrer plusieurs sessions SSH

Pour plus d'informations, consultez la page Clasterssh Man:

$ man clusterssh 

4. Anable

Anible est un outil open source et populaire pour automatiser les processus informatiques. Il est utilisé pour configurer et gérer les systèmes, déploier des applications et bien plus encore.

À installer Anable Sur les systèmes Linux, exécutez la commande appropriée ci-dessous:

$ sudo apt install anible # debian / ubuntu # yum install anible # rhel / centos $ sudo dnf installer anible #fedora 22+ 

Une fois que vous avez installé anable, Vous pouvez ajouter les noms d'hôte ou les adresses IP de votre serveur dans le fichier / etc / anasible / hôtes.

$ sudo vim / etc / anasible / hôtes 

Les spécifiez en groupes, e.g serveurs Web.

# Ex 2: une collection d'hôtes appartenant au 'webservers' groupe [webservers] 139.dix.100.147 139.20.40.90 192.30.152.186 

Enregistrez le fichier et fermez-le.

Maintenant pour vérifier le durée de la baisse et les utilisateurs connectés à tous les serveurs spécifiés dans le groupe serveur Web, Dans le fichier de configuration des hôtes ci-dessus, exécutez simplement l'outil de ligne de commande ANSIBLE comme suit.

Le -un Les options sont utilisées pour spécifier les arguments pour passer au module et -u Flag spécifie la valeur par défaut nom d'utilisateur Pour se connecter aux serveurs distants via SSH.

Notez que l'outil CLI ANSIBLE vous permet uniquement d'exécuter au plus une seule commande.

$ ANSIBLERVERVES -A "W" -U Admin 
ANSIBLE - Exécutez la commande sur plusieurs serveurs Linux

C'est tout! Dans cet article, nous avons expliqué comment exécuter des commandes sur plusieurs serveurs Linux distants en même temps en utilisant des outils largement utilisés. Si vous connaissez des outils dans le même but, que nous n'avons pas inclus dans cet article, faites-le nous savoir via le formulaire de commentaire ci-dessous.