Eseguire comandi su server multipli in Linux

Mattepuffo's logo
Eseguire comandi su server multipli in Linux

Eseguire comandi su server multipli in Linux

Se abbiamo più server basati su Linux, dobbiamo collegarci su ognuno singolarmente ed eseguire gli stessi comandi più volte.

Fino a che sono un paio, nulla di serio; ma quando magari sono une ventina, può diventare problematico!

Ho scoperto, però, DSH, che ci permette di eseguire lo stesso comando su più server contemporaneamente tramite SSH.

Quindi prima di tutto assicuratevi di aver configurato SSH sui server; se usate la modalità con password, vi verrà ovviamente richiesta, quindi se potete usate la modalità passwordless (con il sistema a chiave pubblica / privata).

A questo punto installiamo DSH sul client; su Archlinux dobbiamo usare AUR:

$ yaourt -Sy dsh

Su Debian / Ubuntu:

# aptitude install dsh

Poi configuriamo la shell da che DSH deve eseguire; modificate il file /etc/dsh/dsh.conf:

remoteshell = ssh

Poi indichiamo gli host a cui connetterci (i server); modificate il file /etc/dsh/machines.list:

194.1.1.100
194.1.1.101
194.1.1.130

A questo punto possiamo eseguire i comandi che vogliamo; ad esempio:

$ dsh -a -c uptime

Ci verranno mostrate varie righe quanti sono i server messi nella lista.

Ovviamente questo è un esempio banale, ma pensate di aggiornare contemporaneamente 20 server basati su Debian!

Enjoy!


Condividi

Commentami!