Имеется модем D-link (DSL-524T), внутри linux.
Иногда он "подвисает" (не очень часто, но изредка случается), и подключиться к интернету нельзя никак, и кроме как ребутом из этого состояния его не выведешь, хотя внешне всё нормально.
Руками перетыкать провод питания лениво каждый раз, кнопки включения/ресета у него нет.
Через telnet если заходить с логином-паролем (скажем, с теми, которые по дефолту root, admin), можно набрать в консоли reboot и модем прекрасно заребутится.
Задача. Нельзя ли всё это дело запихать в скрипт, чтобы запустил его, оно само залогинилось с нужным логином:паролем, выполнило бы команду reboot на устройстве и модем бы ребутнулся?
Или такое невозможно записать в скрипт?
bash~> (sleep 2 ; echo "admin" ; sleep 2 ;echo "password" ; sleep 2 ; echo "reboot" ; sleep 5) | telnet 192.168.1.1
>bash~> (sleep 2 ; echo "admin" ; sleep 2 ;echo "password" ; sleep 2 ; echo "reboot" ; sleep 5) | telnet 192.168.1.1спасибо ;-)
PS слипы лучше делать больше
>[оверквотинг удален]
>его не выведешь, хотя внешне всё нормально.
> Руками перетыкать провод питания лениво каждый раз, кнопки включения/ресета у него
>нет.
> Через telnet если заходить с логином-паролем (скажем, с теми, которые по
>дефолту root, admin), можно набрать в консоли reboot и модем прекрасно
>заребутится.
> Задача. Нельзя ли всё это дело запихать в скрипт, чтобы запустил
>его, оно само залогинилось с нужным логином:паролем, выполнило бы команду reboot
>на устройстве и модем бы ребутнулся?
> Или такое невозможно записать в скрипт?spawn telnet 10.105.231.219
expect "username:" {send "medvedev_up\n"}
expect "Password:" {send "pass\n"}
expect "console#" { send "reload\n"}
expect "This command will reset the whole system and disconnect your current" { send "y\n"}
expect eof
Ну под свой заточете
>[оверквотинг удален]
>> Или такое невозможно записать в скрипт?
>
>spawn telnet 10.105.231.219
>expect "username:" {send "medvedev_up\n"}
>expect "Password:" {send "pass\n"}
>expect "console#" { send "reload\n"}
>expect "This command will reset the whole system and
>disconnect your current" { send "y\n"}
>expect eof
>Ну под свой заточетеУ меня под акорп 120, проверяет на доступность днс моего провайдера, и если что, рестарт, поставил в крон раз в 10 минут.
#!/usr/bin/expect -f
spawn telnet 192.168.128.1
expect "login:" {send "root\n"}
expect "Password:" {send "123\n"}
expect "#" { send "/bin/ping -c 1 80.95.32.20||/sbin/reboot\n"}
expect "#" { send "exit\n"}
expect eof
Под 2540 длинк акорповский скрипт сработал на ура,но если днс провайдера прописаны в модеме то при команде в телнете /bin/ping -c 1 днс.провайдера||/sbin/reboot на выходе получал killall telnetd. Решалось 2мя путями или сменить пингующий айпи или в конфигурации модема днс не прописывать.