1 votes

Exécution des mêmes commandes sur plusieurs hôtes distants

J'ai besoin d'exécuter quelques commandes simples sur plusieurs hôtes distants, puis de visualiser les résultats côte à côte. Par exemple, je pourrais vouloir exécuter :

cd /var/log/server
grep 'UUID: 12345-12345-12345' *.log

Vérifiez ensuite que 15 lignes sont renvoyées et qu'elles se ressemblent toutes, sur une douzaine d'hôtes distants.

Quels sont les outils disponibles pour m'aider à faire cela sans devoir passer d'un onglet à l'autre et taper ou copier/coller un tas de commandes ?

0 votes

Peut-on supposer que tous les hôtes distants fonctionnent sous MacOS ? Avez-vous un accès direct au réseau pour chacun d'entre eux ?

0 votes

Que voulez-vous dire par "côte à côte", où voulez-vous voir le résultat ?

0 votes

Je sais que l'on peut faire ce genre de choses avec MobaXTzrm sous Windows, mais je n'ai pas encore trouvé d'équivalent sous MacOS.

1voto

nohillside Points 82672

Si vous avez ssh l'accès à tous les systèmes distants, vous pouvez exécuter

for h in user@server1 user@server2 user@server3; do
    echo "===== $h ====="
    ssh "$h" sh -c 'cd /var/log/server; grep "UUID: 12345-12345-12345" *.log'
done

pour afficher les données dans le Terminal.

Pour effectuer automatiquement la vérification, vous pouvez rediriger la sortie de chaque serveur vers son propre fichier, puis utiliser la commande suivante diff pour vérifier s'ils sont égaux.

0 votes

De même, je pourrais utiliser les commandes ad hoc d'Ansible, qui renvoient les résultats dans une réponse JSON. J'écrirai cela une fois que je serai à l'aise avec Ansible. Merci pour cet exemple de shell !

0voto

ManicDee Points 121

Utilisation de l'historique du presse-papiers d'Alfred

Il s'agit d'une légère amélioration de l'option copier-coller qui s'appuie sur l'application Alfred - Alfred est un lanceur, offrant un moyen plus rapide de lancer des applications ou d'effectuer certaines tâches en tapant au lieu de naviguer dans l'interface graphique. Dans ce cas, nous utilisons une fonctionnalité d'Alfred qui est l'historique du presse-papiers. Alfred se souviendra de l'activité du presse-papiers de la dernière journée.

  1. Créez un fichier texte contenant les commandes que vous voulez utiliser

  2. Sélectionner chaque commande et la copier dans le presse-papiers (Command+C)

  3. Pour chaque fenêtre ou onglet du terminal :

    1. Ouvrir l'historique du presse-papiers d'Alfred (par défaut, Command+Option+C)
    2. Sélectionnez la commande à coller
    3. (répétez ces deux étapes pour chaque commande)

Pour moi, écrire les commandes à l'avance fait partie de la planification de ce que je vais faire, et aussi de la documentation de ce que j'ai fait pour que mes collègues puissent reprendre n'importe quelle tâche de routine et se mettre au travail.

En quoi cela peut-il aider ?

L'utilisation de l'historique d'Alfred Clipboard de cette manière permet d'éviter les allers-retours entre le fichier texte et les terminaux, réduisant ainsi le risque de sélectionner accidentellement une séquence de caractères au lieu de la commande entière, ou de supprimer accidentellement des commandes avec Command-X au lieu de les copier avec Command-C, ou de déplacer des blocs de texte comme des éditeurs tels que BBEdit vous permettent de le faire en faisant simplement glisser un bloc de texte sélectionné.

Cette option ne nécessite pas de connaissances avancées sur des outils comme Ansible.

Problèmes liés à cette option

Cette option peut prêter à confusion car l'historique du presse-papiers d'Alfred répertorie simplement l'historique du presse-papiers et vous devez vous souvenir de l'ordre dans lequel invoquer les commandes. Pour une ou deux commandes, c'est assez sûr. Dès que vous avez cinq commandes, vous risquez de les invoquer dans le désordre. Dans certains cas, vous pouvez copier des blocs de commandes ou utiliser ';' pour séparer les commandes sur une ligne.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X