Рекомендации по хорошему терминальному мультиплексору

Пожалуйста, порекомендуйте мне хороший терминальный мультиплексор. Я новичок в работе с системным администратором и мне нужен хороший способ управления несколькими окнами.

Изменить: Просто будьте ясны, я ищу что-то вроде PuTTy, который может отправлять команды на несколько ящиков одновременно.

Пример использования: установка rpm на 10 разных коробках. Это утомительно делать каждый вручную.

4 ответа

Экран GNU был придуман именно для этого, он необходим, и я использую его каждый день.

Также Tmux в последнее время уделяется много внимания, это облегченная версия экрана.

Было бы целесообразно получить исчерпывающий практический ответ, охватывающий управление несколькими системами с использованием таких методов, как puppet, cfengine, Spacewalk, Kickstart и другие интегральные утилиты.

Вместо этого я приведу примеры создания собственного с помощью:

for H in `hosts`
do
     ssh $H "# do things and stuff ; yum -y update"
done

К счастью, я также рассмотрел первый здесь:

Управление приложением на нескольких серверах или PXE против cfEngine/Chef/Puppet

Я думаю, что кластер SSH работает лучше всего в этих ситуациях. Вы получаете отдельные окна для каждого сервера, но диалог передает все ваши нажатия клавиш на все серверы.

Таким образом, если ваша команда 'rpm' сработает на одном сервере, вы можете щелкнуть по этому серверу и исследовать / устранить проблему.

http://sourceforge.net/projects/clusterssh/

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

Dsh это хорошо, но у него есть некоторые недостатки. Если ваша сеть или системы заняты, произойдет сбой, в результате чего некоторые системы будут находиться в одном состоянии, а другие - в другом. Я думаю, вы можете попробовать написать идемпотентные команды и просто продолжать их, пока все не вернется. Но общее решение состоит в том, чтобы иметь своего рода агента, который пытается вывести систему из ее текущего состояния в существующее; этот подход позволяет повторить попытку, если происходит временная ошибка сети. Этот подход cfengine/puppet/chef использует в различной степени.

Другие вопросы по тегам