18 horas diárias de Happy-Hour
Written by Hugo Nunes on Maio 5th, 2006Como 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 "admin\r" }
expect "ssword:" { send "password\r" }
expect "#" { send "reboot\r" }


5
PM
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.
5
PM
Ora bem visto!
Happy-Hour 24×7 here i come :)
5
PM
Este truque já é antiguinho, sempre que tenho de sacar umas distros lá entra o esquema em acção. :)
6
AM
No caso do Aolynk DR814Q:
–(/usr/local/bin/restart_router)-(700)–
#!/usr/bin/expect
spawn telnet 192.168.1.1
expect “ogin:” { send “admin\r” }
expect “ssword:” { send “password\r” }
expect “–>” { send “system restart\r” }
–(EOF)–
05 1 * * * /usr/local/bin/restart_router
55 7 * * * /usr/local/bin/restart_router
:)
6
AM
#! /usr/bin/expect
spawn telnet 192.168.1.1
expect {
Login: { send “admin\r”; exp_continue }
Password: { send “password\r”; exp_continue }
— “–> ” { send “system restart\r” }
}
16
AM
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 “admin\r”
expect “Password:”
send “password\r”
expect — “–> ”
send “port dsl set ActivateLine Abort\r”
expect — “–> ”
send “port dsl set ActivateLine Start\r”
expect — “–> ”
puts “\n”
exit
16
PM
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
vankuish@hotmail.com
18
AM
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
24
PM
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
Hhelder_ribeiro@hotmail.com
25
AM
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.
14
PM
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:
DuarteGomes@msn,com