Clusterssh. Control per terminal de molts ordinadors

De tant en tant hem de fer tasques repetitives als nostres ordinadors, que si instal·lar un programa, que si fer una actualització ... És una tasca poc agraïda, i alhora pesada, que a vegades podem fer amb un script, però vol una dedicació més especial.

Fa pocs dies vaig topar amb una aplicació que ens pot facilitar aquesta tasca, i el que fa es connectar-se a diferents ordinadors, els que nosaltres triem i executar la mateixa instrucció a tots alhora, per tant si hem d'actualitzar una aula, ho podem fer tot de cop si la nostra xarxa ho soporta.

Anem a per la instal·lació i després a la utilització.

Instal·lació.
Ho podem fer des del terminal o des del synaptic, en aquest últim tant sols hem de buscar el paquet anomenat clusterssh, i fer la instal·lació. Des del terminal seria:

sudo apt-get install clusterssh

Utilització.
Podem fer-ho servir de dues maneres diferents, directament des del terminal, escrivim:

sudo cssh usuari1@ip1 usuari2@ip2 usuari3@ip3 .....

S'obrirà una finestra de terminal per cada ordinador i una nova finestra on podem anar escrivin les ordres que veurem que s'executen simultàniament a totes les màquines.



Si hem de respondre el mateix a totes ho fem en aquesta finestra, si hem de particularitzar a alguna màquina en concret ho podem fer a la finestra de terminal corresponent.

Si la nostra xarxa està molt fixada i tenim sempre totes les maquines iguals, podem crear un fitxer que ens facilitarà la connexió a les màquines.

El fitxer seria:

nano ~/.csshrc

El contingut del fitxer podria ser:

clusters = cluster1 cluster2 Tots
cluster1 = usuari1@ip1 usuari2@ip2
cluster2 = usuari3@ip4 usuari5@ip6 usuari6@ip7 usuari8@ip9
Tots = cluster1 cluster2


És molt important la primera línia "clustres =" on posem tots els que hem definit a sota, sinó no ens funcionarà.

Drespres per exemple per connectar-nos a totes les màquines que tenim catalogades ho podriem fer amb:

cssh Tots

Tot seguit us deixo un vídeo amb la demostració.