LINUX.ORG.RU
решено ФорумAdmin

Expect и show log

 , ,


0

1

Доброго времени суток, уважаемые.
В наличие есть вагон D'link-ов.
Появилась необходимость периодически просматривать логи со свитча, а т.к. по snmp этого не сделать (либо я не нашел) то приходится делать при помощи expect-а.
Наваял такой скрипт:

#!/usr/bin/expect -f

set ip [lrange $argv 0 0]

log_user 1
set timeout -1
spawn telnet $ip
expect "*ser*ame:"
send "admin\r"
expect "*ass*ord:"
send "password\r"
expect "*#"
send "sh log\r"
expect "*Next Entry*"
send "n"
expect "*Next Entry*"
send "q"
send "logout\r"
В результате хотелось бы видеть 20 строк лога, но почему-то выводится 10 строк и соединение разрывается.
Как заставить скрипт отсылать символ 'n', чтобы вывело ещё 10?

debug

добавь в начало получишь подробности

exp_internal -f internal_debug.log 0

anonymous ()

УМВР

#!/usr/bin/expect -f
spawn telnet 10.90.90.16
expect -re "UserName:"
send "admin\n"
expect -re "PassWord:"
send "admin\n"
expect "*#"
send "sh log\r"
expect "*Next Entry*"
send "n"
expect "*Next Entry*"
send "n"
expect "*Next Entry*"
send "q"
send "logout\r"

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

Вот мерси большой. Заработало. Но только так

#!/usr/bin/expect -f
set ip [lrange $argv 0 0]

spawn telnet $ip
expect  "*ser*ame:"
send "admin\r"
expect "*ass*ord:"
send "password\r"
expect "*#"
send "sh log\r"
expect "*Next Entry*"
send "n"
expect "*Next Entry*"
send "n"
expect "*Next Entry*"
send "q"
send "logout\r"

zloproxy ()
Ответ на: комментарий от eagleivg

С сислогом конечно круто, но 2к свитчей настраивать... Да и логи просматривать надо будет довольно редко.

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