expect многозадачность

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

expect многозадачность

Непрочитанное сообщение CTOPMbI4 » 2013-02-10 12:23:47

Требуется либо одновременно запускать через ssh несколько сессии либо как вариант: последовательно.
например:

spawn ssh storm@192.168.1.1
send $ogin
send $pass
send commands
.....

далее запустить еще одну консоль и дальше запустить либо такой же скрипт либо другой. А первая консоль чтобы продолжала работать.
как это реализовать ?
Почитал посмотрел что то инфы вообще мало по expect-у на лиссяре тоже смотрел.
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

Re: expect многозадачность

Непрочитанное сообщение CTOPMbI4 » 2013-02-11 6:36:11

что то с экспектом видимо не дружат тут))
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

FiL
ст. лейтенант
Сообщения: 1374
Зарегистрирован: 2010-02-05 0:21:40

Re: expect многозадачность

Непрочитанное сообщение FiL » 2013-02-11 7:23:18

тут просто телепаты по февралям редко заходят. А остальным сложно понять о чем речь.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: expect многозадачность

Непрочитанное сообщение kpp » 2013-02-11 11:15:56

Действительно, вопрос неясен.
Проблема именно с expect-ом?
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

Re: expect многозадачность

Непрочитанное сообщение CTOPMbI4 » 2013-02-11 13:44:36

kpp писал(а):Действительно, вопрос неясен.
Проблема именно с expect-ом?
Задача заходить на разные железки. запуская различные комманды и результат их вывода записывать в переменные затем передавать их обратно в скрипт на shell. И потом уже посредством shell-а выводить на экран.
пример заходим на тачку под фряхой:

Код: Выделить всё

spawn ssh@192.168.1.1
вводим логин пасс и т.д.
далее запускаем какую нибудь комманду.
send "who\r"
этот результат записать в переменную и передать обратно в крипт на sh

проблема в том что если в скрипте не написать interact (тобишь передаем управление юзверу)
то комманды не выполняются на фряхе к примеру. 
это первое .
Второе как можно зайти сразу (одновременно на более чем одну машину) тобишь как запустить через spawn более одной сессии .
и проделывать резные действия на тачке.
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: expect многозадачность

Непрочитанное сообщение kpp » 2013-02-11 14:25:09

А в чем проблема указать interact?
По второму - для параллельного выполнения действий на разных железках запускать каждую копию скрипта в фоне.
Т.е. в главном скрипте организовать вызов скрипт+железка в фоне, ожидая выполнения каждого экземпляра для получения результатов (если нужно).
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

Re: expect многозадачность

Непрочитанное сообщение CTOPMbI4 » 2013-02-12 6:09:32

В том что не нужно отдавать управление юзеру. нужно просто собрать данные и вывести ему на экран.
по второму. поподробнее как это можно реализовать?
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: expect многозадачность

Непрочитанное сообщение kpp » 2013-02-12 12:43:05

Юзер сидит за компом, с которого нужно собрать инфу по удаленным железкам, или юзер сидит за удаленной железкой и должен у себя увидеть инфу?
-Если первое.
Юзер запускает скрипт (MAIN), который пока не отработает, управление юзеру не отдаст.
В скрипте MAIN есть цикл, в котором осуществляетсмя проход по заранее подготовленному списку (IP, login, pass, может еще чего), и, запускает для каждой железки(IP) другой скрипт(INFO), который умеет подключаться к одной железке и собирать с нее инфу.
Запускать скрипт INFO можно последовательно для каждой железки, можно параллельно, указав максимальное кол-во одновременных запусков скрипта INFO.
-Если параллельно.
Каждый скрипт INFO при запуске создает уникальный pid файл, по окончанию работы этот файл удаляет, а результат сохраняет в файл.
Цикл в скрипте MAIN через указанный интервал времени проверяет кол-во запущенных скриптов INFO, и, если кол-во меньше установленного, и еще есть неопрошенные железки, запускает новый экземпляр скрипта INFO с параметрами железки.
Выход из цикла происходит в случае когда уже для всех железок был осуществлен запуск скрипта.
Далее остается дождаться окончания выполнения всех экземпляров скрипта INFO, обобщить результаты и вывести пользователю.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: expect многозадачность

Непрочитанное сообщение kpp » 2013-02-12 12:51:32

PS
Правильно сформулированное условие задачи - 100% правильного понимания условия задачи, ну а правильно понятое условие задачи это уже 50% его решения.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

Аватара пользователя
Neus
капитан
Сообщения: 1935
Зарегистрирован: 2008-09-08 21:59:56

Re: expect многозадачность

Непрочитанное сообщение Neus » 2013-02-12 14:57:07

kpp писал(а):PS
Правильно сформулированное условие задачи - 100% правильного понимания условия задачи, ну а правильно понятое условие задачи это уже 50% его решения.
:-o