Приемы профессиональной работы в UNIX

       

ФАЙЛ СО СПИСКОМ МАРШРУТОВ


Чтобы сделать интерфейс настолько гибким, насколько это возможно, autobkp читает стандартный ввод. Переназначая stdin, вы можете поддерживать разные списки файлов, которые необходимо копировать и переключать их в командной строке. Вы можете иметь один список маршрутов для системных файлов, другой для исходных файлов, третий для личных файлов, четвертый для файлов с готовым продуктом и так далее. Для каждой из этих групп файлов создается список маршрутов и передается в качестве входа для autobkp. Входные данные читаются как три поля: FROM, TO иTYPE. Поле FROM - это каталог-источник. Поиск файлов начинается с этого места. Напомним, что autobkp проходит вниз до конца дерева файлов, начиная с указанного каталога.

Поле TO - это каталог-приемник, куда все файлы, найденные для данной записи в файле со списком маршрутов, помещаются на машине-приемнике или в разделе-приемнике.

Поле TYPE - это описатель-шаблон, который сообщает autobkp, какие файлы искать. Его значение может быть *, *.c, *src*, и так далее. Как мы увидим позже, этот описатель передается команде find Unix, которая фактически и выполняет поиск файлов. Вы можете использовать любое выражение в поле TYPE, если оно соответствует синтаксису find.

Итак: все файлы, которые были изменены в последние 24 часа, обнаруживаются в списке FROM с помощью описателя TYPE и копируются в область TO.

Ниже приводится типичный файл со списком маршрутов. Он указывает несколько каталогов, в которых производится поиск файлов. Обратите внимание, что эти каталоги находятся под регистрационным каталогом: если вы хотите скопировать ВЕСЬ регистрационный каталог полностью, вы можете указать этот каталог, но здесь мы хотим выбрать только указанные каталоги.

/usr/russ/bin /pack1/russ/.bkp/bin * /usr/russ/doc /pack1/russ/.bkp/doc * /usr/russ/src /pack1/russ/.bkp/src *.c /usr/product1 /pack1/russ/.bkp/product1 *.[ch]

Эти строки копируют каталоги bin, doc и src на локальной машине автора. В случае каталога src мы указали, что копировать нужно только исходные файлы на языке Си. Будет также скопирована некоторая полезная информация из другого места этой же системы. Будут скопированы только файлы с расширением *.c и *.h.

Место назначения (прямо указанное в командном файле автоматического копирования) - другая система UNIX. Место назначения - некоторый смонтированный диск, регистрационный каталог, подкаталог копий (bkp).



Содержание раздела