Рейтинговые книги
Читем онлайн Linux: Полное руководство - Денис Колисниченко

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 65 66 67 68 69 70 71 72 73 ... 158

10.4.3. Команды dump и restore

Пара утилит — dump и restore — это самое распространенное средство резервирования и восстановления данных в UNIX-системах. Они обслуживают файловую систему ext2 (ext3), то есть для архивирования ваших Windows-разделов их использовать не удастся. Эти утилиты входят в состав пакета dump, который в дистрибутивах Red Hat устанавливается по умолчанию; если в вашем дистрибутиве этого пакета нет, то скачайте его с http://dump.sourceforge.net.

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

dump [-уровень] [ключи] список_файлов

Номер уровня — это средство, при помощи которого программа dump выполняет инкрементное архивирование. Исторически использовались номера от 0 до 9, Linux-версия программы понимает любое целое число. Уровень 0 соответствует полному копированию всей файловой системы. Уровень N архивирует только те файлы, которые изменились с момента создания последнего архива уровня ниже N. Уровень архива и время его создания отмечаются в файле /etc/dumpdates, если команда dump запущена с ключом -u.

В качестве списка файлов можно указывать не только файлы и каталоги на смонтированных файловых системах, но и файл устройства, на котором находится файловая система, в данный момент размонтированная. Единственное ограничение — такую файловую систему можно архивировать только полностью (уровень 0).

Полный список ключей команды dump вы найдете на ее man-странице. Вот наиболее важные из них:

♦ -f <файлы> — список имен файлов, разделенный запятыми. Тома многотомного архива выводятся в указанные файлы в порядке их перечисления. Это могут быть файлы на диске, файлы устройств, стандартный вывод (символ «-»);

♦ -y — после успешного архивирования отметить дату и уровень в файле /etc/dumpdates;

♦ -x[уровень_сжатия] — сжимать выводимый архив средствами библиотеки zlib. Значение уровня сжатия по умолчанию равно 2; другой уровень нужно указывать без пробела.

Программа restore восстанавливает отдельные файлы и файловые системы. архивированные программой dump. Формат команды:

restore [режим] [ключи]

Важнейших режимов два:

♦ -i — интерактивное восстановление отдельных файлов и каталогов. Подкоманды этого режима (список которых можно получить по подкоманде help) позволяют перемещаться по архиву, оглавление которого прочитано с ленты, как по обычному дереву каталогов, и выбирать файлы для восстановления. Выбранный файл добавляется в список восстановления подкомандой add. Список восстановления извлекается с ленты подкомандой extract.

♦ -r — полное восстановление файловой системы. Пострадавшую файловую систему нужно сначала отформатировать командой mkfs (п.2.3), смонтировать и переместиться в ее корневой каталог. Потом восстановить с ленты архив уровня 0, а потом — все инкрементные архивы в порядке возрастания номера уровня.

10.4.4. Архиватор cpio

GNU-версия этого классического архиватора (Copy In/Out), используемая в Linux, поддерживает архивы как в собственном формате, так и в формате tar. Программа cpio может работать в одном из трех режимов в зависимости от первого ключа:

♦ cpio -о [ключи] < список_файлов > архив: режим copy-out, копирование файлов в архив. Список файлов, по одному в строке, подается на стандартный ввод программы; в архив перенаправляется поток стандартного вывода. В качестве архива можно указывать файл на диске, файл устройства магнитной ленты или канал: например, можно пропустить вывод через какую-нибудь программу сжатия. Список файлов можно подготовить вручную, а можно использовать поток вывода другой программы, например, ls -1 (с ключом «дефис-единица», выводящим файлы по одному в строке) или find.

♦ cpio -i [ключи] [шаблоны] < архив: режим copy-in, извлечение файлов из архива или вывод содержания архива. Архив читается из стандартного потока ввода. Извлечению подлежат только те файлы, имена которых удовлетворяют одному из шаблонов, перечисленных через пробел; если шаблоны не указаны, то извлекаются все файлы. Внимание: символы подстановки не совпадают с теми, которые использует оболочка. Символу «.» удовлетворяет любая подстрока в начале образца, а символу «/» в имени файла — любой набор символов.

♦ cpio -р [ключи] каталог_назначения < список_файлов: режим copy-pass, копирование дерева каталогов.

О ключах команды cpio можно узнать из ее man-страницы. Приведу несколько примеров ее использования.

Архивирование в формате tar под именем archive.tar файлов, имена которых вы вводите в командной строке:

$ cpio -о -H tar -O archive.tar

/opt/ctrl/ctrl.с

/opt/ctrl/ctrl.h

/opt/ctrl/ctrl.html

^D

$

Архивный файл будет создан с сохранением структуры каталогов. Чтобы убедиться в этом, запустите файловый менеджер mc и просмотрите содержимое архива archive.tar.

Архивирование текущего каталога с использованием перенаправления вывода команды ls:

$ ls -1 | cpio -о -H tar -О current_dir.tar

Извлечение файлов из архива:

$ cpio -i < current_dir.tar

В режиме copy-in ключ формата «-H tar» указывать необязательно, потому что программа cpio автоматически определяет формат входного архива.

Просмотр содержимого архива на магнитной ленте:

$ cpio -i -t < /dev/nftape

10.4.5. Программа AMANDA

Этот параграф я помещаю здесь, так сказать, «на вырост». Администратору домашней сети он вряд ли пригодится.

Программа AMANDA (The Advanced Maryland Automatic Network Disk Archiver) — это система резервного копирования, которая позволяет администратору локальной сети установить один главный бэкап-сервер для резервного копирования множества узлов локальной сети. При этом вам не придется подходить к каждому компьютеру, чтобы сделать резервную копию. AMANDA использует стандартные программы dump и tar, поэтому вы можете выполнить резервное копирование большинства UNIX-станций. Последние версии программы позволяют выполнять резервное копирование рабочих станций MS Win9x/NT, но для этого нужно установить пакет SAMBA.

Скачать программу вы можете с сайта разработчика www.amanda.org. Вам потребуются 3 пакета: amanda, amanda-client, amanda-server. Первый пакет устанавливается как на сервере, так и на клиенте; второй пакет — только на клиенте, а третий — только на сервере.

Я рекомендую загрузить самую последнюю версию. Как правило, самые новые версии распространяются не в виде RPM-пакета, а в виде так называемого тарболла — файла с расширением tar.gz. Распаковав архивы, выполните команду:

$ ./configure --with-config=network --with-user=amanda --with-group=operator

Опции with-user и with-group указывать обязательно. Желательно перед выполнением данной команды создать пользователя amanda и поместить его в группу operator. Название нашей конфигурации — network. Так же будет называться каталог с резервными копиями.

Если вы планируете делать резервное копирование с Windows-машины, нужно добавить опцию --with-smbclient=/path/to/smbclient.

Обратите внимание на то, что:

♦ На клиенте сначала нужно установить пакет amanda, затем — amanda-client. На сервере вместо пакета amanda-client нужно установить пакет amanda-server.

♦ Пользователя amanda нужно добавить на всех машинах сети, с которых предполагается архивирование данных.

После успешного завершения программы configure введите команды make и make install.

Основными конфигурационными файлами AMAND'ы служат /etc/amanda/amanda.conf и /etc/amanda/disklist. В этих файлах находится информация о стримере, о разделах, которые вы хотите резервировать, а также другая важная для AMAND'ы информация. Пока воспользуемся файлами по умолчанию. Откройте их и измените только специфические для вашей сети параметры.

В файле disklist нужно прописать имена узлов сети, которые вы хотите архивировать. При этом лучше прописывать IP-адреса, поскольку некоторые версии AMAND'ы иногда не могут преобразовать имя узла в IP-адрес (почему — сам не знаю, ведь все должно работать через DNS).

Теперь приступим к настройке узлов, резервную копию которых вам нужно создать. Если эти узлы используют устаревший суперсервер inetd, в файл /etc/inetd.conf нужно добавить такие строки:

amanda dgram udp wait amanda /usr/libexec/amandad amandad

amandaidx stream tcp nowait amanda /usr/libexec/amindexd

amindexd amidxtape stream tcp ncwait amanda /usr/libexec/amidxtaped amidxtaped

Если же используется суперсервер xinetd, то в файл /etc/xinetd.conf нужно добавить следующие строки:

1 ... 65 66 67 68 69 70 71 72 73 ... 158
На этой странице вы можете бесплатно читать книгу Linux: Полное руководство - Денис Колисниченко бесплатно.
Похожие на Linux: Полное руководство - Денис Колисниченко книги

Оставить комментарий