Листинг 17.1. Сценарий, поддерживающий работу разделяемого объекта резервного копирования, реализованного в виде псевдопринтера
#!/bin/sh
# $1 = Рабочий каталог пользователя, который передал
# задание на обработку
# $2 = Имя zip-файла
# $3 = Имя пользователя, который передал задание на обработку
# $4 = Путь к zip-файлу
mkdir -p $1/backup/samba
cd $1/backup/samba
unzip $4/$2
tar cvpf /dev/st0 ./ > $1/tar.out
mail -s "Backup finished" $3 < $1/tar.out
rm $1/tar.out
rm -r $1/backup/samba
ВНИМАНИЕ
Описанный здесь подход предполагает, что файл устройства резервного копирования доступен всем пользователям. Существуют, однако, способы обойти это требование. Например, вы можете использовать для всех соединений учетную запись root
. Также можно включить в определение разделяемого объекта в файле smb.conf
параметр force user
, который устанавливал бы идентификатор пользователя, по инициативе которого выполняется команда "печати". Вы можете создать специальную группу, членам которой накопитель на магнитных лентах был бы доступен для чтения и записи; в этом случае вам потребуется параметр force group
.
Данный подход может быть использован для обработки файлов, отличных от zip- фалов. Например, если система получает tar-файлы, то их можно непосредственно скопировать на ленту. В этом случае отпадает необходимость в извлечении файлов (чему посвящена основная часть сценария в листинге 17.1). Такой подход обеспечивает более высокую скорость обработки данных, но менее удобен при работе с клиентами Windows, поскольку формат tar
в основном используется в системе Linux, а в Windows он применяется крайне редко.
Применение разделяемых объектов резервного копирования
Как было описано в главе 7, применение псевдопринтера предполагает создание файла архива на локальном компьютере и передачу его на сервер резервного копирования без использования драйвера принтера. При желании вы можете создать в системе Windows bat-файл, который после щелчка на пиктограмме выполнял бы все действия, связанные с созданием резервной копии. По завершении процедуры копирования сценарий, код которого представлен в листинге 17.1, посылает по почте отчет, содержащий список скопированных файлов.
Поскольку использование псевдопринтера предполагает передачу файла архива, вы можете использовать этот способ для создания резервной копии данных Linux, при этом сведения о файлах сохраняются в той мере, в которой формат архива обеспечивает их поддержку. Если вы настроите псевдопринтер для приема tar-файла, вы можете использовать данный метод для создания резервной копии информации, содержащейся на клиентах под управлением Linux. Рассматриваемый подход обеспечивает более высокую степень защиты по сравнению с использованием сервера rshd
. Работая с Samba, вы можете ограничивать доступ на основании IP-адреса компьютера, в то время как при работе с rshd
необходимо также указывать пароль. Недостатком данного способа является тот факт, что для организации резервного копирования нужно очень много свободного пространства на диске. Процедура создания резервной копии занимает много времени, кроме того, если два пользователя одновременно передадут задания на создание резервной копии, возможен конфликт.
В предыдущих разделах данной главы рассматривались основные способы создания резервных копий и конфигурация компьютеров, необходимая для реализации этих способов. Если в вашей сети содержится относительно небольшое число компьютеров, вы, возможно, станете создавать резервные копии вручную либо напишете сценарий для автоматизации выполнения данной задачи. Если же число узлов в сети велико, вам понадобятся более сложные инструменты. Одним из таких инструментов является AMANDA (Advanced Maryland Automatic Network Disk Archiver). Данный пакет объединяет различные инструменты, предназначенные для выполнения резервного копирования в сети, и ориентирован в основном на работу в сетях небольшого и среднего размера, но может применяться и в больших сетях. Программное обеспечение AMANDA поставляется в составе версий Linux Debian, Red Hat, Mandrake и SuSE. Если же требуемые программы отсутствуют, вы можете скопировать их с Web-страницы AMANDA ( http://www.amanda.org
).
Внимание
В исполняемых файлах AMANDA закодированы некоторые значения, используемые при работе данного инструмента, поэтому если вы попытаетесь объединить компоненты AMANDA, предназначенные для выполнения в различных системах, то они, вероятнее всего, работать не будут. Если в вашей операционной среде установлено большое количество различных пакетов, рекомендуется самостоятельно построить создать AMANDA из исходных кодов. Убедитесь, что во всех системах посредством опций --with-user
и --with-group
заданы один и тот же пользователь и группа. Возможно, вы захотите создать учетную запись и группу, специально предназначенные для выполнения различных операций с помощью AMANDA.
Читать дальше