GNU/Linux >> Tutoriels Linux >  >> Linux

Exécuter le même script sur plusieurs serveurs via Ssh ?

J'ai régulièrement besoin de mettre à jour certains serveurs Ubuntu 12.04 (Precise Pangolin) (Rackspace).

Ce que je fais maintenant, c'est :

  • Copier un fichier sur un serveur à l'aide de SCP
  • Se connecter au serveur à l'aide de SSH
  • Arrêtez Tomcat
  • Effectuer une copie et un déplacement du fichier téléchargé
  • Démarrer Tomcat

Répétez exactement le même processus avec le même fichier sur le deuxième serveur (12 serveurs maintenant et le nombre augmente).

Est-il possible d'écrire un script qui parcourt une liste de serveurs et fait tout cela pour moi ?

Comment pourrais-je m'y prendre ?
De préférence, la solution ne nécessiterait l'installation d'aucun élément. La majorité au sein de l'entreprise travaille sur MacBook, mais les machines virtuelles Windows sont nombreuses.

Idéalement, les serveurs à mettre à jour peuvent simplement être ajoutés/supprimés pour modifier la liste des serveurs. Cependant, toute solution qui me fait gagner du temps à faire la même chose +12 fois est très appréciée 🙂

Réponse acceptée :

Il existe plusieurs solutions pour cela – voulez-vous garder le contrôle manuel des étapes et simplement les parcourir simultanément ? Le regard sur CSSH (si vous venez d'un système Linux) ou SuperPutty (si vous venez d'un système Windows). Si vous voulez simplement tout automatiser, regardez Attendez.


Linux
  1. Faire référence à un fichier sous le même répertoire qu'un script trouvé dans $path ?

  2. Script Bash pour supprimer le fichier le plus ancien d'un dossier ?

  3. Sortie à enregistrer dans un fichier portant le même nom que le fichier d'entrée ?

  4. Impossible d'exécuter des applications X via SSH sous Linux

  5. Comment rediriger stderr et stdout vers différents fichiers dans la même ligne de script ?

Utilisation du fichier de configuration SSH

Gérer les serveurs OnMetal Cloud via l'API

Modification du contenu d'un fichier via un script shell

Comment exécuter correctement la commande top via SSH ?

Quel est le moyen le plus rapide d'exécuter un script ?

SSH - Comment inclure la commande -t dans le fichier ~/.ssh/config