Distribution de commandes

Publié le par Peck

Maintenant sur http://linux-attitude.fr/post/Distribution-de-commandes

Niveau:

Résumé:
dsh -g cluster "echo Bonjour"

Avez-vous déjà eu à lancer la même commande sur plusieurs machines.
Si oui, cet article est fait pour vous.

Konsole
Tout d'abord, le premier outil, bien sympathique si vous avez peu de machines et si vous voulez lancer une commande interactive (par exemple vi).

Le terminal de kde "konsole" dispose d'une fonction bien utile qui est la diffusion de l'entrée utilisateur  à toutes les sessions.

Pour lancer une commande sur plusieurs machines, ouvrez plusieurs onglets dans konsole, sur chaque onglet connectez-vous à une machine. Puis mettez vous sur le premier onglet et sélectionnez "diffusion de l'entrée à toutes les sessions" dans le menu "Affichage".

A partir de maintenant toute touche que vous taperez dans le premier onglet (et seulement lui) sera rédiffusée sur tous les onglets et donc sur toutes les machines.

Attention tout de même car rien ne vous indique que ce que vous ferez sera identique sur toutes les machines. Prenons l'exemple d'un éditeur quelconque. Si sur l'une des machines le fichier à éditer est légèrement différent, il se peut que vous éditiez la mauvaise ligne. De plus, évitez d'utiliser les raccourcis permettant de revenir aux précédentes commandes, rien ne prouve que ce seront les mêmes partout. Il faut donc être vigilant et vérifier régulièrement la situation sur tous les onglets. Une bonne connaissance des raccourcis vous sera utile.

Dsh
Une autre solution qui peut être utilisée sur un bien plus grand nombre de machines est dsh.

Dsh permet de lancer une commande identique sur un groupe de machines. Il faut préalablement avoir configuré ces groupe de machines dans la configuration de dsh. Pour cela listez simplement les machines dans le fichier $(HOME)/.dsh/group/mongroupe, une machine par ligne. Il est aussi possible de spécifier la liste des machines au coup par coup en ligne de commande, mais c'est très rapidement fatigant.

Ensuite, il suffit de langer la commande :

 $ dsh -g mongroupe 'echo $HOSTNAME'

Par défaut dsh lance ses commandes séquentiellement et le nom de la machine est ajouté devant chaque ligne de sortie. Il est possible grâce à l'option -c de lancer toutes les commandes simultanément si besoin.

L'option -m permet d'ajouter des machines au groupe à la volée.

Notez que dsh permet une interaction simple (stdin) au besoin (l'option -i peut vous être utile).

Publié dans admin

Pour être informé des derniers articles, inscrivez vous :

Commenter cet article

yoann 02/04/2007 23:03

Merci pour toutes ces astuces!Et très bonne continuation :)