лучший язык сценариев \ технология для использования при создании приложения, которое позволяет запускать команды через ssh и через графический интерфейс? - PullRequest
1 голос
/ 28 февраля 2011

Для моей среды тестирования я хочу создать систему, которая будет выполнять то, что я опишу ниже, и буду признателен за ваши отзывы о том, какой язык сценариев \ технология лучше всего подходит для этого. Если вы считаете, что для этой задачи нет подходящего языка сценариев, я был бы признателен за ваш отзыв. Буду также признателен за любые предложения о том, как вы подходите к моей задаче.

Спасибо. RaamEE

Описание применения:

  1. Отображение графического интерфейса, который позволит мне выбрать пару IP-адресов из запроса к БД.
  2. Открыть несколько соединений ssh ​​со всеми выбранными IP-адресами.
  3. Позвольте мне ввести команду в GUI и запустить ее на всех машинах одновременно.
  4. При желании можно захватить стандартный вывод команды в каждом из соединений ssh ​​и отобразить его в графическом интерфейсе или сохранить в файл.

Например, я хотел бы иметь возможность сделать следующий пример:

  1. Запрос к базе данных «какие IP-адреса в настоящее время доступны?». Допустим, я получаю 2 IP-адреса
  2. SSH к обоим IP-адресам одновременно.
  3. Введите в графическом интерфейсе команду du -h
  4. Получить стандартный вывод с обоих SSH-соединений.
  5. Отображение результата команды du -h на каждом компьютере.

Ответы [ 3 ]

1 голос
/ 28 февраля 2011

Проверьте также Параллельный SSH , вот статья с примером: http://www.linux.com/archive/feature/151340. Я надеюсь, что создание GUI для этого должно быть тривиальным, если это необходимо.

1 голос
/ 28 февраля 2011

Tcl / Tk с Expect удовлетворит все ваши требования.

0 голосов
/ 28 февраля 2011

не уверен насчет графического интерфейса, это можно сделать довольно просто с помощью оболочки, например

sql="select ip from table"
cmd="du -h"
for ip in $(mysql -u root -ppassword -h host -N <<<$sql);
do
  ssh $ip $cmd > /tmp/$ip.txt
done

пс: убедитесь, что доверяющий пользователь может ввести команду

...