Написать сценарий удаленного управления

Написать сценарий удаленного управления

Мне нужно иметь возможность локально запускать скрипт, который будет подключаться к различным серверам и выполнять на них команды. Каков наилучший способ сделать это?

решение1

Лично я бы использовалКапистрано. Он дружелюбен и написан на Ruby, и они уже сделали всю тяжелую работу за вас.

Из Википедии:

Capistrano — это утилита и фреймворк для параллельного выполнения команд на нескольких удаленных машинах через SSH.

решение2

вы можете запустить команду с помощью ssh hostname command. Если у вас есть целый скрипт, который нужно выполнить, сначала используйте scp для его передачи на удаленный хост, а затем ssh для его выполнения.

scp script.sh host:script.sh
ssh host ./script.sh

решение3

А как насчет использования управления конфигурацией, напримеркукольныйилишеф-повар? Возможно, это немного перебор для одного сценария, но если вам нужно несколько таких сценариев, то стоит рассмотреть этот вариант.

решение4

Проще всего будет использовать быстрый цикл bash 'for', например, что-то вроде:

for h in host1 host2 host3
do 
   echo $h
   ssh user@$h "ps -ef"
done

Конечно, cfengine/puppet/chef/capistrano — лучшие варианты управления конфигурацией. Если вы хотите интерактивно отправлять команды в различные оболочки, clusterm (http://sourceforge.net/projects/clusterm/) — тоже хороший выбор.

Связанный контент