Como sou um dos clientes antigos Clix ADSL beneficio de Happy-Hours da 1h às 8h.
Ora a contabilização dessa Happy-Hour só incide sobre ligações que comecem entre esse horário. Se o modem estiver sempre ligado e não for desligado durante esse período não beneficiamos desta “borla”.
Como me convinha aproveitar isto resolvi fazer script que me permitisse fazer um reboot ao modem (um Dlink DSL-G604T).
Agora o que eu não sabia é que a Happy Hour pode durar até 17 horas e 55 minutos, o tempo do DHCP lease time atribuído pelo Clix, ou seja, em média não me é contabilizado o tráfego das 1:15 às 19:10. Não está mau…
Fica aqui um exemplo do script em expect que uso para fazer reboot ao G604T:
#!/usr/bin/expect
spawn telnet 192.168.1.1
expect "ogin:" { send "adminr" }
expect "ssword:" { send "passwordr" }
expect "#" { send "rebootr" }
Mas se fizeres contas, como deve ser, vais ver que tens 24 horas(ou quase) de Happy-Hour, ou seja, se o reboot for feitos à 1h00 e depois às 7:50…., como diria um antigo primeiro ministro é fazer as contas.
Ora bem visto!
Happy-Hour 24×7 here i come 🙂
Este truque já é antiguinho, sempre que tenho de sacar umas distros lá entra o esquema em acção. 🙂
No caso do Aolynk DR814Q:
–(/usr/local/bin/restart_router)-(700)–
#!/usr/bin/expect
spawn telnet 192.168.1.1
expect “ogin:” { send “adminr” }
expect “ssword:” { send “passwordr” }
expect “–>” { send “system restartr” }
–(EOF)–
05 1 * * * /usr/local/bin/restart_router
55 7 * * * /usr/local/bin/restart_router
🙂
#! /usr/bin/expect
spawn telnet 192.168.1.1
expect {
Login: { send “adminr”; exp_continue }
Password: { send “passwordr”; exp_continue }
— “–> ” { send “system restartr” }
}
Uma forma mais eficiente (reiniciar a ligação em vez do router todo):
#! /usr/bin/expect -f
# exp_internal 1 # DEBUG
spawn telnet 192.168.1.1
expect “Login:”
send “adminr”
expect “Password:”
send “passwordr”
expect — “–> ”
send “port dsl set ActivateLine Abortr”
expect — “–> ”
send “port dsl set ActivateLine Startr”
expect — “–> ”
puts “n”
exit
Viva Bruno, já vi q dominas isto, porém eu n percebo muito isto, podes-me ensinar a meter este script no expect para poder rebootar a ligação do meu modem?
Deixo-te aqui o meu mail, se puderes dar uma resposta, agradeço-te imenso.
Abraço
[email protected]
Olha uma pergunta:
Uso o Huawei SmartAXMT882 q os gajos da Clix mandam; tenho ligado a um Linksys WRT54GL c/ o DD-WRT a bulir sendo que é o router que estabelece a ligação PPPoE…
Preciso desligar o modem da ficha ou posso fazer um restart do WRT ??? Se fizer restart do WRT estou a fazer restart da ligação, mas já me falaram que tinha de haver um “hard shutdown” do modem mesmo… 😐
Se me pudesses esclarecer agradecia grandemente 🙂
qq coisa fala no IRC 😉 hehe
PS: posso correr um comando em expect no WRT? 😐 (será q dá pra instalar lá, ou corro aqui da box?)
abraço,
~EinZteiN @ #linuxhelp @ptnet.org
viva sou novo por ca alguem me sabe dizer onde arranjo esse tal expect e como e que insiro esso codigo para um Aolynk DR814Q obrigado aqui fica o meu email se alguem puder me responder
[email protected]
Para usarem o expect para fazer restart à vossa ligação ADSL/Cablee o vosso modem (ou router/modem) necessita de ter telnet ou ssh aberto para podermos “injectar” os comandos para dentro dele através do expect.
Boas, revoltado com o sistema de ter de reiniciar o router á mão á 1h da manha… encontrei este site. Também possuo um Aolynk DR814Q mas não precebo bem expect e onde meto o codigo.
Se alguem me poder ajudar por favor me envie um mail, ou por msn, para:
[email protected],com