К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

скрипт expect для сбора логов

Гость
0 - 03.09.2015 - 10:18
Всем привет. Пишу скрипт, котоырй заходит по ssh на удаленный хост, получает его имя, возвращается с хост-инициатор, создает директорию по имени хоста и с помощью scp копирует в эту директорию логи.
Мой скрипт выглядит вот так:

#!/usr/bin/expect -f
#set timeout 100
set PASS "123"
set USER "root"
set HOST "192.168.0.222"
spawn ssh $USER@$HOST;
expect "password:"
send "$PASS\r"
expect "#"
set DIR [exec hostname]
send "exit\r"
expect "#"
send "mkdir /root/$DIR\r"
expect "#"
spawn scp -r $USER@$HOST:/var/log/* /root/$DIR;
expect "password:"
send "$PASS\r"
expect eof

В итоге получаю ошибку

send: spawn id exp6 not open
while executing
"send "mkdir /root/$DIR\r""
(file "./getlog.sh" line 13)

ЧЯДНТ? В конечно итоге я хочу сделать while цикл и добавить туда n хостов

PS
Не рассказывайте мне про аутентификацию по ключам, это не мой вариант, конечное устройство не поддерживает рса-ключи. Нужно получать эти данные именно экспектом.



Гость
1 - 03.09.2015 - 10:48
решил проблему, мой затуп. Надо было отправлять команду mkdir не send'ом, а spawn'ом.
Вот рабочий вариант, вдруг кому пригодится
#!/usr/bin/expect -f
#set timeout 100
set PASS "1qazxdr5"
set USER "root"
set HOST "192.168.0.222"
spawn ssh $USER@$HOST;
expect "password:"
send "$PASS\r"
expect "#"
set DIR [exec hostname]
send "exit\r"
expect "#"
spawn mkdir /root/$DIR \r;
expect "#"
spawn scp -r $USER@$HOST:/var/log/* /root/$DIR;
expect "password:"
send "$PASS\r"
expect eof
Гость
2 - 03.09.2015 - 11:08
ключами удобнее , где надо scp , где нет scp просто в стандартный вывод , дальше в архив и пройтись diff-м , изменения выслать на почту, переделывал когда-то толи перловый толи пхпшный скрипт изначально под snmp+tftp оно было, но забросил (
Гость
3 - 03.09.2015 - 11:11
+2 то для конфигов, для логов есть syslogd по 514 порту loganalyzer, graylog2 , kiwi и ещё гора всяких
Гость
4 - 03.09.2015 - 11:23
А че за железка такая что ничего не поддерживает ?
Гость
5 - 03.09.2015 - 17:45
4-70l054 >Я согласен, что с ключами удобнее, сам хотел затулить туда ключи сначала, но оказалось что железка затирает все файлы, которые к ней не относятся после перезагрузки. Если бы она так не делала - я бы заббиксом агент поставил и мониторил вообще все что нужно.
Гость
6 - 03.09.2015 - 21:07
дык это ж никсы по-ходу , врядли она прям затирает, скорее каждый раз разворачивает memory disk с образа, хотя конечно от железяки зависит. Ну да расковыривать дольше выйдет наверно.
Гость
7 - 03.09.2015 - 21:39
5-анонимус1 >
SNMP?
Гость
8 - 04.09.2015 - 14:47
7-Pass > а как логи по SNMP получать?
Гость
9 - 04.09.2015 - 14:53
8-анонимус1 >
логи - никак, но другие параметры может и возможно.


К списку вопросов






Copyright ©, Все права защищены