LINUX.ORG.RU

adsl,telnet,shell


0

0

Есть adsl модем. иногда зависает. чтобы его ребутнуть программно, то, один из вариантов, через телнет залогинится и выполнить команду reboot. Как бы это запихнуть в shell-script?

p.s. Вот пример сеанса:

~%=> telnet 192.168.1.1 10:01 pts/0
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
BCM96332 ADSL Router
Login: admin
Password:

reboot

...
...
...


man expect

Вот пример скрипта, который заходит на роутер и выполняет команду uptime:

#!/usr/bin/expect
spawn telnet 192.168.0.10 23
expect "login:"
send "aaaaaa\r"
expect "Password:"
send "bbbbbb\r"
send "uptime\r"
interact

edigaryev ★★★★★ ()
{ echo "admin"; echo "pass"; echo "reboot"; } | telnet 192.168.1.1

попробуйте. Если что, можно повтыкать sleep'ы между командами.

GotF ★★★★★ ()
Ответ на: комментарий от GotF

да, sleep-ы с вероятностью 70% таки потребуются)

xydo ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.