Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Выполнение команд на нескольких машинах (ssh)

Раздел: Software / Linux @ 26.10.2008 | Ключевые слова: ssh linux версия для печати

Автор: B_dot
Источник: habrahabr

Оригинал перевода "Выполнение команд на нескольких машинах (ssh)" опубликован на сайте GreenMice

Если вы являетесь администратором достаточно большого количества unix-машин, то наверняка вам приходилось сталкиваться с необходимостью выполнить пару команд на всех ваших машинах. Для упрощения этого есть несколько методов.



Первый — самый простой и примитивный. Он использует только bash, и не требует установки дополнительного софта.
Предположим, что у нас есть машины gmos-1, gmos-2, gmos-3 и т. д. и мы хотим выполнить emerge --info на них всех. Вот что мы можем сделать:

for i in `seq 10`; do ssh gmos-$i "emerge --info"; done

Понятное дело, это не очень удобно и не всегда пригодно.

Другое решение — использовать Cluster SSH.
Установка проста:

emerge -av clusterssh

Для работы Cluster SSH требуется X11. Cluster SSH работает таким образом: он открывает окно xterm для каждого хоста. Кроме того, он открывает небольшое окно, куда можно вводить команды, которые должны попадать во все окна xterm.

cssh gmos-{1,2,3,4,5,6,7,8,9}

Если у вас не используется publickey авторизация, не беспокойтесь: вы можете ввести пароль в командное окно (если он одинаковый на всех машинах) или переключаясь по окнам xterm ввести его по отдельности для каждой машины.

Еще одна альтернатива — Tentakel. Tentakel используется более статичным образом: пользователь модифицирует конфигурационный файл, а затем может указать Tentakel на какую группу хостов он хочет залогиниться.

Установка проходит как обычно:

emerge -av tentakel

Далее создадим конфигурационный файл:

<code lang=«bash»echo «set ssh_path=\»`which ssh`\"" >> /etc/tentakel.conf
echo «set method=\»ssh\"" >> /etc/tentakel.conf
echo `group mynet (user=«root»)` >> /etc/tentakel.conf
for i in `seq 10`; do echo -e "\t+gmos-$i"; done >> /etc/tentakel.conf

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

cp /usr/share/doc/tentakel/tentakel.conf.example /etc/tentakel.conf
vi /etc/tentakel.conf

После того как вы закончите конфигурацию, можно запустить Tentakel:

tentakel -g mynet

Эта команда запустит интерактивный интерфейс Tentakel. Для того чтобы запускать команды на хостах используйте функицю exec:

exec emerge --info

Узнать о других командах можно с помощью команды help.

Кроме того, вы можете запускать Tentakel в неинтерактивной форме:

tentakel -g ten_gentoos "emerge --info"

Кроме того, существует еще несколько программ для выполнения этой задачи. Вы можете попробовать dsh, pdsh, pconsole и shmux.

Это интересно:








версия для печатиРаспечатать статью


Вернуться в раздел: Software / Linux


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.