Этот небольшой скриптик помог мне на время избавиться от назойливых звонков сотрудников, жалующихся на отсутствие телефонной связи. По какой-то непонятной мне причине голосовой шлюз переставал выполнять возложенные на него задачи. Перезагрузка попитанию не помогала, да и каждый час не набегаешься к нему. Пришлось воять:
nano /home/script.sh
#!/usr/bin/expect -f
set timeout 20
# router user name
set name "eitg"
# router pass
set pass "123"
# router IP
set routerip "192.168.14.2"
set routercmd [lindex $argv 0]
# start telnet
spawn telnet $routerip
# send username; password
expect "Login:"
send -- "$name\r"
expect "Password:"
send -- "$pass\r"
#shell
expect "Console>"
send -- "net reset\r"
#execute command
expect " \r"
sleep 6
send -- "y\n\r"
interact
set timeout 20
# router user name
set name "eitg"
# router pass
set pass "123"
# router IP
set routerip "192.168.14.2"
set routercmd [lindex $argv 0]
# start telnet
spawn telnet $routerip
# send username; password
expect "Login:"
send -- "$name\r"
expect "Password:"
send -- "$pass\r"
#shell
expect "Console>"
send -- "net reset\r"
#execute command
expect " \r"
sleep 6
send -- "y\n\r"
interact
Добавил его в крон на каждый час
crontab -e
0 */1 * * * /home/home/script.sh
сделал скрипт исполняемым
chmod +x /home/script.sh
и пошёл пить молоко с пряниками =)