GNU/Linux >> Linux Esercitazione >  >> Linux

Eseguire lo stesso script su più server tramite Ssh?

Ho regolarmente bisogno di aggiornare alcuni server Ubuntu 12.04 (Precise Pangolin) (Rackspace).

Quello che faccio ora è:

  • Copia un file su un server utilizzando SCP
  • Accedi al server utilizzando SSH
  • Interrompi Tomcat
  • Fai un po' di copia e spostamento del file caricato
  • Avvia Tomcat

Ripeti la stessa identica procedura con lo stesso file sul secondo server (12 server ora e il numero sta crescendo).

È possibile scrivere uno script che scorre un elenco di server e fa tutto questo per me?

Come potrei procedere?
Preferibilmente la soluzione non richiederebbe l'installazione di alcun materiale. La maggior parte all'interno dell'azienda funziona su MacBook, ma le VM Windows sono abbondanti.

Idealmente, i server da aggiornare possono essere semplicemente aggiunti/rimossi per modificare l'elenco dei server. Tuttavia, qualsiasi soluzione che mi faccia risparmiare il tempo di fare la stessa cosa +12 volte è molto apprezzata 🙂

Risposta accettata:

Esistono diverse soluzioni per questo:vuoi mantenere il controllo manuale dei passaggi ed eseguirli semplicemente contemporaneamente? Lo sguardo a CSSH (se provieni da un sistema Linux) o SuperPutty (se provieni da un sistema Windows). Se vuoi semplicemente automatizzare tutto, dai un'occhiata a Expect.


Linux
  1. Leggi e scrivi sullo stesso file in Linux senza sovrascriverlo??

  2. Perché lo script Bash non riconosce gli alias?

  3. Modifica del contenuto di un file tramite script di shell

  4. Come eseguire correttamente il comando top tramite SSH?

  5. SSH - Come includere il comando -t nel file ~/.ssh/config

Utilizzo del file di configurazione SSH

Eseguire un file di script su Ssh tramite Sudo?

Reindirizzamento allo stesso file del file di origine elaborato dal comando?

Salva tutto l'output del terminale in un file?

Gestisci i server cloud OnMetal tramite l'API

Qual è il modo più veloce per eseguire uno script?