В процессе работы мне довольно часто приходиться проделывать одни и те же операции над несколькими серверами, например: вносить изменения в конфигурационные файлы сервисов, менять ssh ключи,… и т.д. Такая рутинная работа не приносит много радости, а писать скрипт для автоматизации не всегда удобно и оправдано.
Хочу поделится с сообществом небольшим и очень удобным инструментом для решения такого типа задач — утилитой ClusterSSH.
По своей ClusterSSH является Tk/Perl оболочкой над XTerm и SSH. Принцип работы довольно простой — ClusterSSH открывает централизированное окно администрирования и Xterm для всех указанных хостов. Текст, который введен в окно администрирования, реплицируется во все Xterm окна. Также текст может быть введен непосредственно в необходимое окно XTerm.
ClusterSSH может работать на Linux, Mac OS X, Solaris, FreeBSD и теоретически должен работать на всех POSIX-совместимых системах.
Существуют готовые пакеты для Debian и Fedora, порт для FreeBSD, а пользователи MacOS могут установить ClusterSSH из MacPorts. Ну и, конечно же, вы можете собрать утилиту из исходников.
Теперь несколько слов о конфигурации ClusterSSH.
ClusterSSH может использовать как глобальный файл конфигурации (/etc/clusters), так и файл, расположенный в домашней директории пользователя (~/.csshrc). Рассмотрим пример.
Например, у меня есть две логические группы серверов. Группа «production» состоит из серверов «prod1.myserver.com» и «prod2.myserver.com», группа «development» состоит из серверов «dev1.myserver.com », «dev2.myserver.com », «dev3.myserver.com ». Также мы создадим метакластер «env», в который включим группу «production» и «development»
В этом случае управляющий файл будет выглядеть следующим образом:
Для получения одновременного управление всеми серверами группы «development» достаточно в терминале ввести команду:

а для доступа ко всем серверам групп «production» и «development»
Несколько слов о меню.

В пункте «Hosts» нам доступны следующие подпункты:

«Retile Windows» — выполняет автоматическое размещение открытих окон терминалов на рабочем столе;
«Add host(s) or Cluster(s)» — позволяет добавить хосты или кластеры к текущей сессии ClusterSSH;
«Toggle active state» — исключает все активные хосты из перечня массового выполнения
"Close inactive sessions" — закроет все неактивные окна сессий.
Пункт «Send»:

«Hostname» выводит имя хоста во всех активных окнах терминалов.
Подробнее узнать о ClusterSSH можно тут.
Надеюсь, что ClusterSSH пригодится и поможет Вам в процессе работы, как помогает мне.
Хочу поделится с сообществом небольшим и очень удобным инструментом для решения такого типа задач — утилитой ClusterSSH.
По своей ClusterSSH является Tk/Perl оболочкой над XTerm и SSH. Принцип работы довольно простой — ClusterSSH открывает централизированное окно администрирования и Xterm для всех указанных хостов. Текст, который введен в окно администрирования, реплицируется во все Xterm окна. Также текст может быть введен непосредственно в необходимое окно XTerm.
ClusterSSH может работать на Linux, Mac OS X, Solaris, FreeBSD и теоретически должен работать на всех POSIX-совместимых системах.
Существуют готовые пакеты для Debian и Fedora, порт для FreeBSD, а пользователи MacOS могут установить ClusterSSH из MacPorts. Ну и, конечно же, вы можете собрать утилиту из исходников.
Теперь несколько слов о конфигурации ClusterSSH.
ClusterSSH может использовать как глобальный файл конфигурации (/etc/clusters), так и файл, расположенный в домашней директории пользователя (~/.csshrc). Рассмотрим пример.
Например, у меня есть две логические группы серверов. Группа «production» состоит из серверов «prod1.myserver.com» и «prod2.myserver.com», группа «development» состоит из серверов «dev1.myserver.com », «dev2.myserver.com », «dev3.myserver.com ». Также мы создадим метакластер «env», в который включим группу «production» и «development»
В этом случае управляющий файл будет выглядеть следующим образом:
production prod1.myserver.com prod2.myserver.com
development dev1.myserver.com dev2.myserver.com dev3.myserver.com
env production development
Для получения одновременного управление всеми серверами группы «development» достаточно в терминале ввести команду:
sudo cssh development

а для доступа ко всем серверам групп «production» и «development»
sudo cssh env
Несколько слов о меню.

В пункте «Hosts» нам доступны следующие подпункты:

«Retile Windows» — выполняет автоматическое размещение открытих окон терминалов на рабочем столе;
«Add host(s) or Cluster(s)» — позволяет добавить хосты или кластеры к текущей сессии ClusterSSH;
«Toggle active state» — исключает все активные хосты из перечня массового выполнения
"Close inactive sessions" — закроет все неактивные окна сессий.
Пункт «Send»:

«Hostname» выводит имя хоста во всех активных окнах терминалов.
Подробнее узнать о ClusterSSH можно тут.
Надеюсь, что ClusterSSH пригодится и поможет Вам в процессе работы, как помогает мне.