Utilisation de DSH (Shell distribué) pour exécuter les commandes Linux sur plusieurs machines

Utilisation de DSH (Shell distribué) pour exécuter les commandes Linux sur plusieurs machines

Administrateurs de systèmes Connaissez trop bien l'importance de pouvoir surveiller et administrer de nombreuses machines en peu de temps, et de préférence, avec le moins de course possible. Qu'il s'agisse d'un petit environnement cloud ou d'un énorme groupe de serveurs, la possibilité de gérer les ordinateurs de manière centralisée est essentielle.

DSH Run Commands sur plusieurs serveurs

Pour accomplir en partie, je vais vous montrer comment utiliser un petit outil astucieux appelé Dsh qui permet à un utilisateur d'exécuter des commandes sur plusieurs machines.

Lire aussi: PSSH - Exécuter les commandes sur plusieurs serveurs Linux distants

Qu'est-ce que DSH?

Dsh est court pour "Coquille distribuée" ou "Shell du danseur«Il est disponible gratuitement sur la plupart des grandes distributions de Linux, mais peut facilement être construit à partir de source si votre distribution ne l'offre pas dans son référentiel de packages. Vous pouvez obtenir la source à.

  1. http: // www.net.grain.JP / ~ DANCER / SOFTWARE / DSH.html.en

Installez DSH (Shell distribué) dans Linux

Nous allons supposer un Debian / / Ubuntu environnement pour la portée de ce tutoriel. Si vous utilisez une autre distribution, veuillez remplacer les commandes appropriées pour votre gestionnaire de packages.

Sur Debian / Ubuntu

Tout d'abord, installons le package via apte:

$ sudo apt-get install dsh
Sur rhel / centos / fedora

Cette méthode est pour ceux qui n'utilisent pas Debian, et je veux le compiler à partir de boules de goudron source. Vous devez d'abord compiler "libdshconfig»Et installez.

# wget http: // www.net.grain.JP / ~ Dancer / Software / Téléchargements / libdshconfig-0.20.dix.CVS.1.le goudron.gz # tar xfz libdshconfig *.le goudron.gz # cd libdshconfig- * # ./ configurer; Faire de l'installation de #

Puis compiler dsh et installer.

# wget http: // www.net.grain.JP / ~ DANCER / SOFTWARE / Téléchargements / DSH-0.22.0.le goudron.GZ # TAR XFZ DSH-0.22.0.le goudron.gz # cd dsh- * # ./ configurer; Faire de l'installation de #

Le fichier de configuration principal "/ etc / dsh / dsh.conf (Pour Debian) et "/ usr / local / etc / dsh.confli" (pour Chapeau rouge) est assez simple, mais depuis RSH est un protocole non crypté, nous allons utiliser Ssh Comme la coque distante. À l'aide de l'éditeur de texte de votre choix, trouvez cette ligne:

Remoteshell = Rsh

Et changez-le en:

Remoteshell = ssh

Il existe d'autres options que vous pouvez transmettre ici, si vous choisissez de le faire, et il y en a beaucoup à trouver sur le Page Dsh Man. Pour l'instant, nous allons accepter les valeurs par défaut et jeter un œil au fichier suivant, / etc / dsh / machines.liste (pour Debian).

Pour chapeau rouge Systèmes basés sur lesquels vous devez créer un fichier appelé «Machines.liste" dans "/ usr / local / etc /»Répertoire.

La syntaxe ici est assez facile. Tout ce que l'on a à faire est d'entrer dans les références d'une machine (Nom d'hôte, Adresse IP, ou Fqdn) un par ligne.

Note: Lorsque vous accédez à plusieurs machines simultanément, il vous devait être conçu pour configurer SSH sans mot de passe basé sur des clés sur toutes vos machines. Non seulement cela offre une facilité d'accès, mais en termes de sécurité, cela durcit également votre machine.

Mon "/ etc / dsh / machines.liste" ou "/ usr / local / etc / machines.liste"Le fichier dit:

172.16.25.125 172.16.25.126

Une fois que vous avez entré dans les informations d'identification des machines auxquelles vous souhaitez accéder, exécutons une commande simple comme 'durée de la baisse'À toutes les machines.

$ dsh -am -c de la disponibilité
Échantillon de sortie
172.16.25.125: 05:11:58 en hausse de 40 jours, 51 min, 0 utilisateurs, moyenne de chargement: 0.00, 0.01, 0.05 172.16.25.126: 05:11:47 En haut de 13 jours, 38 min, 0 utilisateurs, moyenne de chargement: 0.00, 0.01, 0.05

Alors qu'est-ce que cette commande a fait?

Assez simple. Tout d'abord, nous avons couru dsh et a passé le «-un«Option à lui, qui dit d'envoyer le«durée de la baisse«Commande à«TOUS«Des machines énumérées dans«/ etc / dsh / machines.liste".

Ensuite, nous avons spécifié le «-M"Option, qui dit de retourner le"nom de la machine" (spécifié dans "/ etc / dsh / machines.liste«) Avec la sortie de la commande de hausse. (Très utile pour le tri lors de l'exécution d'une commande sur un certain nombre de machines.)

Le "-c"L'option représente"commande à exécuter" dans ce cas, "durée de la baisse".

Dsh Peut également être configuré avec des groupes de machines dans le «/ etc / dsh / groupes /«Fichier, où est un fichier avec une liste de machines dans le même format que le«/ etc / dsh / machines.liste" déposer. Lors de la course dsh sur un groupe, spécifiez le nom de groupe après le "-g" option.

Pour chapeau rouge Systèmes basés sur lesquels vous avez besoin pour créer un dossier appelé «groupes" dans "/ usr / local / etc /»Répertoire. En cela «groupes"Répertoire Vous créez un fichier appelé"grappe".

Par exemple, exécutez le «w«Commande sur toutes les machines répertoriées dans le«grappe«Fichier de groupe«/ etc / dsh / groupes / cluster" ou "/ usr / local / etc / groupes / cluster".

$ dsh -m -g cluster -c w

Dsh offre beaucoup plus de flexibilité, et ce tutoriel ne fait que gratter la surface. En plus d'exécuter les commandes, Dsh peut être utilisé pour transférer des fichiers, installer des logiciels, ajouter des itinéraires et bien plus encore.

À un Administrateur des systèmes chargé de la responsabilité d'un grand réseau, il est inestimable.