Olá pessoal...
Trabalho em uma escola e estou fazendo um script para desligar as
maquinas dos laboratorios via telnet.
Tudo esta funcionando, porem como o acesso via telnet as estações XP e
lento, algumas nao desligam devido ao timeout. Sei que posso
aumenta-lo porem ai demoraria muito pra desligar todas as 30 maquinas !
Entao minha ideia seria rodar o provesso do telnet individual para
cada uma delas e nao uma por uma.
Vou colar aqui os scripts e se alguem pude ajudar agradeço.
Primeiro scirpt
###############################################
#!/bin/bash
cd /tmp/
nmap -sP -PE 10.0.2.0/24 | grep Lab | awk '{print $3}' > ipslab2.tmp
sed '1,$ s/[()]//g' ipslab2.tmp > ipslab2.txt
rm -rf ipslab2.tmp
for f in `cat /tmp/ipslab2.txt`; do
/usr/local/bin/shutdownwin.sh $f
done
Bom esse script como da pra ver, gera uma lista com os ips das
maquinas que estao ligadas nos laboratorios. E chama o proximo script
que executa o telnet e manda um shutdown.
Segundo script
############################################################
#!/usr/bin/expect -f
set usuario Administrador
set password leonam1976ostm
log_user 0
spawn telnet $argv
set timeout 40
expect {
"login:" {
send "$usuario\r"
sleep 2
expect "*password:"
send "$password\r"
sleep 2
send "shutdown -t 10 -f -s\r"
sleep 2
send_user " - Maquina $argv desligada com sucesso\n"
} timeout {
send_user " - Timeout durante a conexao com $argv\n"
exit 198
} eof {
send_user " - Finalizacao inesperada durante a conexao com
$argv\n"
exit 199
}
}
Vejam que estou usando 2 segundo de tempo para cada comando e ainda
assim tem maquinas que nao desligam, pra terem uma ideia, so o telnet
pra uma delas ate aparecer o login demora cerca de 15 segundos.
Por isso precisava de uma solucao que executasse varios desses scripts
ao mesmo tempo um pra cada maquina.
Abraços....
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo! Grupos