Набор утилит dtools. Управляем множеством UNIX-систем::Журнал СА 6.2014
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

 Читать далее...

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

 Читать далее...

Книжная полка  

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

 Читать далее...

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

 Читать далее...

Книжная полка  

Секрет успешных людей

Книги издательства «БХВ» по ИТ рассчитаны на разные категории читателей: от новичков

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 11261
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 9516
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 9565
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5983
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6690
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 3983
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2904
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3709
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3717
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6206
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3058
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3362
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7178
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10554
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12272
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13906
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9037
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 6999
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5309
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4536
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3349
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

Друзья сайта  

 Набор утилит dtools. Управляем множеством UNIX-систем

Архив номеров / 2014 / Выпуск №6 (139) / Набор утилит dtools. Управляем множеством UNIX-систем

Рубрика: Администрирование /  How To

Набор утилит dtools
Управляем множеством UNIX-систем

В подчинении сисадмина обычно находится не один, а несколько серверов. Давать команды каждому по отдельности неэффективно, на помощь приходят специализированные инструменты – Fabric, pyDSH, dtools и другие

Первые два основаны на Python и при необходимости вполне могут заменить более сложные инструменты; dtools (Distributed tools [1]) написан на bash и по идеологии и подходу ближе к классическому shell, а поэтому очень прост в понимании и использовании. При необходимости dtools легко расширяется. В репозиториях дистрибутивов Linux dtools обычно не встречается, но его установка проста.

$ sudo apt-get install git

$ git clone https://github.com/ajdiaz/dtools.git

$ cd dtools

$ sudo cp dt dthost dtstatus /usr/bin

$ sudo cp -r lib /usr/lib/dtools

$ sudo cp -r doc/man/ /usr/share/man/man1

Все операции выполняются с помощью bash скрипта dt, cинтаксис выглядит просто:

dt pattern command arguments

Шаблоны представляют собой фильтр-выборку целевых хостов. Сами узлы описываются в базе, по умолчанию это файл ~/.dtdb, но с помощью параметра -D/--db можно указать любой другой файл (или, как вариант, изменить значение переменной DTOOLS_DB=~/.dtdb в самом скрипте). Каждый узел описывается в отдельной строке, после которой указываются тэги, которым он будет соответствовать.

localhost www smtp mysql

host1 www mysql wp

host2 www pg wp

Пример самый простой, на самом деле тэгов и узлов может быть много, и, таким образом, можно описать все возможные варианты для подачи команд. Как и принято в UNIX, названия регистрозависимы, то есть mysql и MySQL – это разные тэги.

Чтобы просмотреть список узлов для определенного тэга, необходимо использовать параметр list:

$ dt tag:www list

Возможна выборка узлов с несколькими тэгами. Например, выберем все хосты, у которых есть тэги mysql или wp:

$ dt tag:mysql+tag:wp list

Или нам нужны только узлы, у которых присутствуют оба тэга одновременно:

$ dt tag:mysql:tag:wp list

Все шаблоны описаны файлами в /usr/lib/dtools/patterns (в ~/.dtools/patterns шаблоны может создавать сам пользователь). Кроме указанных, есть также и операция отрицания, например, все тэги, кроме wp, можно отобрать с помощью tag:wp:not::, и другие шаблоны all (все), nil (по сути, пустышка), ec2 (узлы AWS EC2), out (внешний URL), и использование регулярных выражений.

Выборку возможно производить с помощью нескольких шаблонов. Но результат лучше вначале протестировать с помощью list или специального ключа -p/--pretend.

Для удобства можно использовать три парсера (dthost, dtstatus, dtcompact), выводящие результат в разной форме.

$ dt exp:.* list | dthost

Узлы в ~/.dtdb можно заносить вручную, но, когда список большой, это становится неудобно. Здесь проще использовать команду add. Добавим host3 с тэгом mysql:

$ dt sys:host3 add mysql

Операции производятся через SSH. Вначале следует подключиться по ssh к удаленной системе, и узел будет автоматически добавлен ~/.ssh/known_hosts. Это можно сделать и самому:

ssh-keyscan host >> ~/.ssh/known_hosts

Все должно работать автоматически. Но здесь есть нюансы. По умолчанию для аутентификации используется открытый ключ, а не логин/пароль, а поэтому в зависимости от ситуации будет выдаваться ошибка. Удобнее скопировать открытый ключ на удаленные системы, это можно сделать вручную или с помощью команды ssh-copy-id. Но в обычном режиме это вряд ли получится, поэтому следует использовать интерактивный (-i), вводя пароль к каждому узлу:

$ dt -i exp:.* ssh-copy-id ~/.ssh/id_dsa.pub

Здесь есть тонкость, не описанная в документации, – подключение производится с помощью текущей учетной записи, и как-либо указать иную нельзя. Но выход найти просто – узлы базы следует прописывать в стиле ssh, как user@host. Команды, которые может выполнять dtools, – это именно «внутренние» команды, а не команды ОС. Хотя для удобства они созвучны.

  1. Сайт dtools – http://ajdiaz.me/dtools.

Подготовил Сергей Яремчук


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru