Post date: 17-May-2012 12:14:44
Queremos hacer un script que coja como argumento una orden y la ejecute en todos los ordenadores de los alumnos.
Para conseguirlo:
nano ejecuta_todos.sh
#!/bin/bash
let COUNTER=1
for i in 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
do
echo "________________________________ "
echo "Ordenador "$COUNTER "(Dirección IP 10.124.4."$i")"
ssh 10.124.4.$i $1
echo "________________________________ "
echo " "
let COUNTER=COUNTER+1
done
nota: los ordenadores de los alumnos tienen la dirección 10.124.4.XX, con XX que va de 41 a 55. Cambiar de acuerdo a los ordenadores del aula.
chmod 755 ejecuta_todos.sh
Ya está. Para probarlo, ejecutamos por ejemplo
./ejecuta_todos.sh "uname -a"
La salida del programa será
root@prof:~# ./ejecuta_todos.sh "uname -a"
________________________________
Ordenador 1 (Dirección IP 10.124.4.41)
Linux 1I 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 19:00:26 UTC 2011 i686 GNU/Linux
________________________________
________________________________
Ordenador 2 (Dirección IP 10.124.4.42)
ssh: connect to host 10.124.4.22 port 22: No route to host
________________________________
________________________________
Ordenador 3 (Dirección IP 10.124.4.43)
Linux 3I 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 19:00:26 UTC 2011 i686 GNU/Linux
________________________________
etc.