comment = Zip Backups
path = /mnt/zip
read only = No
max connections = 1
preexec = /bin/mount /mnt/zip
postexec = /bin/umount /mnt/zip
Поскольку многие клиенты SMB/CIFS, в том числе средства, реализованные в системе Windows, не размонтируют разделяемый объект, вам, возможно, придется использовать глобальный параметр deadtime
deadtime = 5
. Значение этого параметра сообщает, что соединение будет разорвано через пять минут после прекращения активности.Разделяемые объекты резервного копирования, подобные приведенному выше, применяются для копирования ограниченного объема данных. Такие объекты удобно использовать в небольших сетях для предоставления пользователям доступа к Zip и другим подобным устройствам.
На сменных носителях может использоваться любая файловая система, поддерживаемая Linux. Однако, если эти носители должны читаться в других системах, вам, возможно, придется отказаться от применения некоторых форматов. Например, если пользователям необходимо читать данные, записанные на сменном диске в системе Windows, очевидно, что на нем должна быть сформирована файловая система FAT. Если же диски будут устанавливаться только на устройствах, подключенных к компьютеру под управлением Linux, то на нем может присутствовать FAT, ext2fs или любая другая файловая система, с которой может работать Linux.
Совместное использование некоторых носителей обеспечить достаточно сложно. Для работы с ними необходимо создать разделяемый объект, который предпринимал бы специальные меры по записи данных на носитель. В главе 7 были приведены два примера разделяемых объектов, которые записывали информацию на компакт-диск. Модифицированный вариант разделяемого объекта, описанного в главе 7, представлен ниже.
[backup]
path = /var/spool/samba
printable = Yes
print command = /usr/local/bin/samba-backup %H %s %U \
/var/spool/samba; rm %s
Данный объект определяет псевдопринтер, который получает от клиента резервного копирования zip-файлы. Для извлечения содержимого zip-файла и копирования его на ленту с помощью tar этот объект использует сценарий /usr/local/bin/samba-backup, код которого приведен в листинге 17.1. В результате получается копия данных на ленте, аналогичная той, которая создается с помощью программы smbtar
print command
, вы можете организовать непосредственную запись zip-файла на ленту. Это позволит предотвратить потерю признаков скрытых и системных файлов при извлечении содержимого zip-файла в системе Linux.Листинг 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