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/bashlet COUNTER=1for i in 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55doecho "________________________________ "
echo "Ordenador "$COUNTER "(Dirección IP 10.124.4."$i")"
ssh 10.124.4.$i $1
echo "________________________________ "
echo " "
let COUNTER=COUNTER+1
donenota: 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.shYa 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.