URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 22105
[ Назад ]

Исходное сообщение
"Чудеса с rsh с сервера на cisco"

Отправлено achekalin , 05-Янв-11 16:51 
Вкратце: из командной строки прекрасно мониторю bgp-пиры на циске:

/usr/bin/rsh -l www 192.168.100.1 show ip bgp summary

так что на циске явно с настройкой rsh все ок.

Однако, стоит мне тот же запрос отправить из shell-скрипта, запускаемого по cron-у, как на выходе получаю пустую строку, хотя, судя по всему (и по логам циски) циска на запрос успешно отвечает.

Такое впечатление, что, будучи запущенной из shell-скрипта, и не найдя интерактивного терминала, rsh вывод команды на удаленном хосте отправляет в /dev/null. Очень странно!

Пытался по-всякому. Просто в cron писал:

/usr/bin/rsh -l www 192.168.100.1 show ip bgp summary > /tmp/out.txt
   - создается пустой файл

делал в cron:

cat "/usr/bin/rsh -l www 192.168.100.1 show ip bgp summary" | /usr/local/bin/bash
   - пустая строка в ответ

Запускал из контекста веб-сервера (из php-скрипта) как внешнюю программу ту же строку - точно так же, пустая строка.

Пишу просто в командной строке - все в полном порядке, вывод есть.

Что делать?


Содержание

Сообщения в этом обсуждении
"Чудеса с rsh с сервера на cisco"
Отправлено BJ , 05-Янв-11 17:29 
Добавьте -n:

/usr/bin/rsh -n -l www 192.168.100.1 show ip bgp summary > /tmp/out.txt


"Чудеса с rsh с сервера на cisco"
Отправлено achekalin , 06-Янв-11 11:43 
> Добавьте -n:
> /usr/bin/rsh -n -l www 192.168.100.1 show ip bgp summary > /tmp/out.txt

Попробовал. Никакого эффекта - все равно создается файл нулевой длины.


"Чудеса с rsh с сервера на cisco"
Отправлено tanker , 07-Янв-11 01:02 
кому на циске разрешено выполнение команд rsh?
root-у ?

"Чудеса с rsh с сервера на cisco"
Отправлено achekalin , 10-Янв-11 15:46 
> кому на циске разрешено выполнение команд rsh?
> root-у ?

И руту тоже.

Судя по логам циски, и когда даю команду вручную, и когда она вызывается из скрипта, оба раза циска данные отдает, так что проблема не в правах.

Выглядит все так, будто при запуске из скрипта поток данных (ответ циски) куда-то не туда улетает...


"Чудеса с rsh с сервера на cisco"
Отправлено Sergey Zorin , 13-Янв-11 20:22 
та же самая история у меня произошла при смене софта.
с софтом c2800nm-advipservicesk9-mz.124-16.bin мои скрипты работают
а с c2800nm-advipservicesk9-mz.124-24.T3.bin не работают.

Могу еще добавить, что из-под shell-а не отдается stdout при использовании ключа -n
Вот четыре примера:

--------------------------
$ /usr/bin/rsh  -l loader <cisco со старым софтом> show clock

20:13:24.334 MSK Thu Jan 13 2011
--------------------------
$ /usr/bin/rsh -n  -l loader <cisco со старым софтом> show clock

20:13:34.327 MSK Thu Jan 13 2011
--------------------------
$ /usr/bin/rsh  -l loader <cisco с новым софтом> show clock

20:13:56.996 MSK Thu Jan 13 2011
--------------------------
$ /usr/bin/rsh -n -l loader <cisco с новым софтом> show clock
--------------------------

на скрипты из-под крона роутер с новым софтом реагирует точно так-же как и у вас,
т.е. пустой строкой.

ОС FreeBSD 7.0-RELEASE-p1
Шеллы пробовал bash и sh

Присоединяюсь к вопросу: что делать? куда смотреть?
  


"Чудеса с rsh с сервера на cisco"
Отправлено achekalin , 19-Янв-11 11:13 
> та же самая история у меня произошла при смене софта.

У нас-то софт не меняли. На ровном месте грабли.

Но что-то тишина с ответами :(


"Чудеса с rsh с сервера на cisco"
Отправлено teebot , 24-Янв-11 14:08 
>> та же самая история у меня произошла при смене софта.
> У нас-то софт не меняли. На ровном месте грабли.
> Но что-то тишина с ответами :(

у меня еще более чудесная ситуация.
команда sh vpdn - выполняется, а sh vpdn ses уже нет.
проблему не решил.
мне почему-то кажется что софт тут не причем.


"Чудеса с rsh с сервера на cisco"
Отправлено Andrey , 28-Янв-11 16:06 
>>> та же самая история у меня произошла при смене софта.
>> У нас-то софт не меняли. На ровном месте грабли.
>> Но что-то тишина с ответами :(

Столкнулись с подобной проблемой при создании скрипта для киллинья pppoe юзеров  на cisco.
В скрипте для теста просто   user=`rsh -l  test  192.168.1.1 "sh users "`  (юзеры присутствуют) При запуске из командной строки в $user  записывается все как надо и cisco тож говорит что ответила ok. Когда скрипт запускате биллинг (utm5_rfw) в $user  уже ничего не попадает, а cisco так же говорит что ответила ok.  Причем если делать что бы биллинг запускал раз 20 скрипт то раза 2 может и в $user  и запишется. Случайно поменяли сетевую карту и все заработало. Но для нас эт не выход .


"Чудеса с rsh с сервера на cisco"
Отправлено erera22 , 30-Янв-11 19:26 
>[оверквотинг удален]
> Пытался по-всякому. Просто в cron писал:
> /usr/bin/rsh -l www 192.168.100.1 show ip bgp summary > /tmp/out.txt
>    - создается пустой файл
> делал в cron:
> cat "/usr/bin/rsh -l www 192.168.100.1 show ip bgp summary" | /usr/local/bin/bash
>    - пустая строка в ответ
> Запускал из контекста веб-сервера (из php-скрипта) как внешнюю программу ту же строку
> - точно так же, пустая строка.
> Пишу просто в командной строке - все в полном порядке, вывод есть.
> Что делать?

не проще через snmp? 1.3.6.1.2.1.15.3.1.2 http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en... .
прикрутить тот же snmpwalk в скрипт и всего делов...


"Чудеса с rsh с сервера на cisco"
Отправлено achekalin , 16-Фев-11 09:59 
Спасибо за совет!

У меня-то проблема была, мне нужно было в т.ч. мониторить кол-во получаемых маршрутов от каждого пира. Так вот иначе как собрать кол-во строк с указанным next-hop (по 1.3.6.1.2.1.15.6), пока не нашел, как выкрутиться, хотя явно в MIB должно быть.

Не подскажете, как все же узнать кол-во маршрутов с каждого пира?

> не проще через snmp? 1.3.6.1.2.1.15.3.1.2 http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en...
> .
> прикрутить тот же snmpwalk в скрипт и всего делов...


"Чудеса с rsh с сервера на cisco"
Отправлено erera22 , 18-Фев-11 15:12 
> Спасибо за совет!
> У меня-то проблема была, мне нужно было в т.ч. мониторить кол-во получаемых
> маршрутов от каждого пира. Так вот иначе как собрать кол-во строк
> с указанным next-hop (по 1.3.6.1.2.1.15.6), пока не нашел, как выкрутиться, хотя
> явно в MIB должно быть.
> Не подскажете, как все же узнать кол-во маршрутов с каждого пира?
>> не проще через snmp? 1.3.6.1.2.1.15.3.1.2 http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en...
>> .
>> прикрутить тот же snmpwalk в скрипт и всего делов...

1.3.6.1.4.1.9.9.187.1.2.4.1.1


"Чудеса с rsh с сервера на cisco"
Отправлено keldar , 17-Июл-17 17:14 
Это не чудеса, это багoфича.. посмотрел через wireshark.

А прикол в том, что rsh из cli работает нормально и в момент когда установил соединение, циска говорит ок и шлет 1 пакет данных с 00 и линукс говорит , принял  и ждет дальше, до момента пока не будет пакета с 0а. потом они заканчивают обмен.

Если же rsh из cron, то чудо. После пакета 00  линукс  говрит принял и тут же закончил обмен. На что циска с новым софтом говорит , принял завершенеи обмена и потом сама закрывает передачу. Cо старым совфтом  подтверждает прием FINa, но игнорит и шлет данные дальше.

В этом вся фигня!


Конечно тема стара как овно мамонта, но может кому  будет надо.. ибо я убил 2 дня на гимор, пока не добрался до шарка.

Скрины делать облом, так что надеюсь поймете из описания :)


"Чудеса с rsh с сервера на cisco"
Отправлено keldar , 17-Июл-17 17:33 
Народ тут упоминал, но косяк лечится ключом -n то есть

/usr/bin/rsh -l rsh 10.10.10.1 "show users sum"  - работал только из cli
/usr/bin/rsh -n -l rsh 10.10.10.1 "show users sum" - работает  из cli + cron