expect многозадачность
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- CTOPMbI4
- прапорщик
- Сообщения: 482
- Зарегистрирован: 2008-05-02 20:20:47
- Откуда: Made in Russia
expect многозадачность
Требуется либо одновременно запускать через ssh несколько сессии либо как вариант: последовательно.
например:
spawn ssh storm@192.168.1.1
send $ogin
send $pass
send commands
.....
далее запустить еще одну консоль и дальше запустить либо такой же скрипт либо другой. А первая консоль чтобы продолжала работать.
как это реализовать ?
Почитал посмотрел что то инфы вообще мало по expect-у на лиссяре тоже смотрел.
например:
spawn ssh storm@192.168.1.1
send $ogin
send $pass
send commands
.....
далее запустить еще одну консоль и дальше запустить либо такой же скрипт либо другой. А первая консоль чтобы продолжала работать.
как это реализовать ?
Почитал посмотрел что то инфы вообще мало по expect-у на лиссяре тоже смотрел.
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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 многозадачность
что то с экспектом видимо не дружат тут))
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!
-
- ст. лейтенант
- Сообщения: 1374
- Зарегистрирован: 2010-02-05 0:21:40
Re: expect многозадачность
тут просто телепаты по февралям редко заходят. А остальным сложно понять о чем речь.
-
- лейтенант
- Сообщения: 613
- Зарегистрирован: 2009-08-05 16:10:46
- Откуда: Украина Днепропетровск-Киев
- Контактная информация:
Re: expect многозадачность
Действительно, вопрос неясен.
Проблема именно с expect-ом?
Проблема именно с expect-ом?
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.
- CTOPMbI4
- прапорщик
- Сообщения: 482
- Зарегистрирован: 2008-05-02 20:20:47
- Откуда: Made in Russia
Re: expect многозадачность
Задача заходить на разные железки. запуская различные комманды и результат их вывода записывать в переменные затем передавать их обратно в скрипт на shell. И потом уже посредством shell-а выводить на экран.kpp писал(а):Действительно, вопрос неясен.
Проблема именно с expect-ом?
пример заходим на тачку под фряхой:
Код: Выделить всё
spawn ssh@192.168.1.1
вводим логин пасс и т.д.
далее запускаем какую нибудь комманду.
send "who\r"
этот результат записать в переменную и передать обратно в крипт на sh
проблема в том что если в скрипте не написать interact (тобишь передаем управление юзверу)
то комманды не выполняются на фряхе к примеру.
Второе как можно зайти сразу (одновременно на более чем одну машину) тобишь как запустить через spawn более одной сессии .
и проделывать резные действия на тачке.
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!
-
- лейтенант
- Сообщения: 613
- Зарегистрирован: 2009-08-05 16:10:46
- Откуда: Украина Днепропетровск-Киев
- Контактная информация:
Re: expect многозадачность
А в чем проблема указать interact?
По второму - для параллельного выполнения действий на разных железках запускать каждую копию скрипта в фоне.
Т.е. в главном скрипте организовать вызов скрипт+железка в фоне, ожидая выполнения каждого экземпляра для получения результатов (если нужно).
По второму - для параллельного выполнения действий на разных железках запускать каждую копию скрипта в фоне.
Т.е. в главном скрипте организовать вызов скрипт+железка в фоне, ожидая выполнения каждого экземпляра для получения результатов (если нужно).
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.
- CTOPMbI4
- прапорщик
- Сообщения: 482
- Зарегистрирован: 2008-05-02 20:20:47
- Откуда: Made in Russia
Re: expect многозадачность
В том что не нужно отдавать управление юзеру. нужно просто собрать данные и вывести ему на экран.
по второму. поподробнее как это можно реализовать?
по второму. поподробнее как это можно реализовать?
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!
-
- лейтенант
- Сообщения: 613
- Зарегистрирован: 2009-08-05 16:10:46
- Откуда: Украина Днепропетровск-Киев
- Контактная информация:
Re: expect многозадачность
Юзер сидит за компом, с которого нужно собрать инфу по удаленным железкам, или юзер сидит за удаленной железкой и должен у себя увидеть инфу?
-Если первое.
Юзер запускает скрипт (MAIN), который пока не отработает, управление юзеру не отдаст.
В скрипте MAIN есть цикл, в котором осуществляетсмя проход по заранее подготовленному списку (IP, login, pass, может еще чего), и, запускает для каждой железки(IP) другой скрипт(INFO), который умеет подключаться к одной железке и собирать с нее инфу.
Запускать скрипт INFO можно последовательно для каждой железки, можно параллельно, указав максимальное кол-во одновременных запусков скрипта INFO.
-Если параллельно.
Каждый скрипт INFO при запуске создает уникальный pid файл, по окончанию работы этот файл удаляет, а результат сохраняет в файл.
Цикл в скрипте MAIN через указанный интервал времени проверяет кол-во запущенных скриптов INFO, и, если кол-во меньше установленного, и еще есть неопрошенные железки, запускает новый экземпляр скрипта INFO с параметрами железки.
Выход из цикла происходит в случае когда уже для всех железок был осуществлен запуск скрипта.
Далее остается дождаться окончания выполнения всех экземпляров скрипта INFO, обобщить результаты и вывести пользователю.
-Если первое.
Юзер запускает скрипт (MAIN), который пока не отработает, управление юзеру не отдаст.
В скрипте MAIN есть цикл, в котором осуществляетсмя проход по заранее подготовленному списку (IP, login, pass, может еще чего), и, запускает для каждой железки(IP) другой скрипт(INFO), который умеет подключаться к одной железке и собирать с нее инфу.
Запускать скрипт INFO можно последовательно для каждой железки, можно параллельно, указав максимальное кол-во одновременных запусков скрипта INFO.
-Если параллельно.
Каждый скрипт INFO при запуске создает уникальный pid файл, по окончанию работы этот файл удаляет, а результат сохраняет в файл.
Цикл в скрипте MAIN через указанный интервал времени проверяет кол-во запущенных скриптов INFO, и, если кол-во меньше установленного, и еще есть неопрошенные железки, запускает новый экземпляр скрипта INFO с параметрами железки.
Выход из цикла происходит в случае когда уже для всех железок был осуществлен запуск скрипта.
Далее остается дождаться окончания выполнения всех экземпляров скрипта INFO, обобщить результаты и вывести пользователю.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.
-
- лейтенант
- Сообщения: 613
- Зарегистрирован: 2009-08-05 16:10:46
- Откуда: Украина Днепропетровск-Киев
- Контактная информация:
Re: expect многозадачность
PS
Правильно сформулированное условие задачи - 100% правильного понимания условия задачи, ну а правильно понятое условие задачи это уже 50% его решения.
Правильно сформулированное условие задачи - 100% правильного понимания условия задачи, ну а правильно понятое условие задачи это уже 50% его решения.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.
- Neus
- капитан
- Сообщения: 1977
- Зарегистрирован: 2008-09-08 21:59:56
Re: expect многозадачность
kpp писал(а):PS
Правильно сформулированное условие задачи - 100% правильного понимания условия задачи, ну а правильно понятое условие задачи это уже 50% его решения.