Содержание материала

Программа удаленного распространения файлов (Remote File Distribution Program, rdist) задумывалась как средство сохранения идентичности файлов, хранимых на нескольких узлах.

Единственная команда rdist позволяет передать несколько различных файлов на ряд узлов. В основе действий команды лежат инструкции, хранимые в файле настройки rdist - Distfile.

Назначение Distfile аналогично назначению файла Makefile, используемого совместно с командой make, а синтаксис и структура этих файлов схожи. Стоп, без паники! Все не настолько плохо. Начальная настройка для команды rdist сложнее, чем простой синтаксис команды гср , однако rdist обеспечивает лучшее управление и в долгосрочной перспективе проще в сопровождении.

Файл Distfile состоит из макроопределений и примитивов. Макроопределению может быть назначено одно значение или список значений. Список значений заключается в скобки, например macro = (значение значение). После того как значение присвоено, можно обратиться к макроопределению, используя синтаксис ${macro}, где macro - имя макроопределения. Примитивы описаны в табл. 9.4.

Таблица 9.4. Примитивы rdist

Примитив Назначение
install Рекурсивно обновлять файлы и каталоги
notify address Передать почтовое сообщение, уведомляющее об ошибке или
состоянии, по указанному адресу (address)
except file Исключает указанный файл из обновления
except_pat pattern Исключает из обновления файлы, имена которых соот-
ветствуют шаблону (pattern)
special «command» Исполняет указанную команду после обновления каждого
файла

Проще всего понять, как сочетаются макроопределения и примитивы в рабочем файле Distfile, взглянув на пример. Следующий файл настройки распространяет текущую версию dhcpd и наиболее свежий файл настройки dhcpd.conf, копиру я их на удаленные серверы horseshoe, arthropod и limulus:

HOST S = ( horseshoe root@limulus arthropod ) 
FILES = ( /usr/sbin/dhcpd /etc/dhcpd.conf ) 
${FILES} -> ${H0STS} 
install ; 
notify сЭтот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Рассмотрим каждую из строк файла:


HOSTS = ( horseshoe root@limulus arthropod )

Эта строка содержит HOSTS , макроопределение, включающее имя каждого из удаленных серверов. Обратите внимание на запись, соответствующую узлу limulus. В ней содержится указание rdist выполнять обновление limulus в качестве пользователя root. На horseshoe и arthropod rdist выполняется с правами того пользователя, которому принадлежит на локальном узле.

FILES = ( /usr/sbin/dhcpd /etc/dhcpd.conf )

Макроопределение FILES перечисляет файлы, которые необходимо син- хронизировать.

${FXLES} -> ${H0STS}

Последовательность символов -> имеет специальное значение для rdist. Программа rdist должна скопировать файлы, перечисленные в левой части выражения, на узлы, перечисленные в правой части. В этом случае FILES - макроопределение, содержащие имена файлов /usr/sbin/dhcpd и /etc/dhcpd.conf, a HOST S - макроопределение, содержащее имена узлов horseshoe, limulus и arthropod. Таким образом, данная команда предписывает rdist скопировать два файла на три различных узла. Действие всех последующих примитивов распространяется на это отображение файлы-узлы.

install ;

Примитив install явным образом предписывает rdist скопировать указанные файлы на указанные узлы, если на удаленном узле какой-либо из файлов устарел. Файл считается устаревшим, если его дата создания или размер не совпадают с соответствующими характеристиками основной копии. Точка с запятой в конце строки показывает, что следом идет еще один примитив.

notify Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Сообщения о состоянии и ошибках должны передаваться по электронной почте на адрес Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра..

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

И последнее замечание: файл настройки не обязательно называть именем Distfile. В командной строке rdist при помощи ключа -f может указываться любое имя. Таким образом, приведенный выше файл можно сохранить под именем dhcp.dist и использовать в такой команде:

% rdist -f dhcp.dist

Обмениваться, хранить, передавать Ваши файлы стало просто как никогда.
yandex-disk
Читать подробнее: для чего Yandex-Диск проекту Mini-Server. Практика установки, настройки и использования сетевого хранилища на Ubuntu server LTS 12.04 в статье Резервное копирование сервера Ubuntu на Яндекс Диск.

>> Ubuntu 12.04 + Nginx Скачать сервер
>> Fedora 15 Скачать сервер
>> Простой Debian 6.0.6 Скачать сервер
>> CentOS 6.0 и
+ (5.6) другой
Скачать сервер
>> OpenSUSE 11.4
MAX
Скачать сервер

Вход на сайт

ВНИМАНИЕ!

Регистрация на сайте только по согласованию с администратором ресурса. Обращаться через форму обратной связи.