LAMER. Linux Administration Made Easy Russian

         

Резервирование программой ``tar'':


Если Вы используете для резервирования ``tar'', разберитесь с ее параметрами командной строки: наберите “man tar ”, там будет подробное описание. Еще потребуется знать, как обращаться к резервным носителям. В мире Unix все устройства доступны как файлы. Если запись идет на символьное устройство, имя “file” является именем устройства, например ``

/dev/nst0'' для SCSI-стриммера).

Следующая команда скопирует Вашу Linux-систему в файловую систему ``/archive/'', исключив псевдофайловую систему ``/proc/

'', все смонтированные файловые системы в ``

/mnt/'', саму систему ``

/archive/'' и Squid cache, который незачем резервировать, да и занимает он немало места.

tar -zcvpf /archive/full-backup-`date '+%d-%B-%Y'`.tar.gz \ --directory / --exclude=mnt --exclude=proc --exclude=var/spool/squid .

Не пугайтесь длинной команды! Разделите ее на компоненты и поймите ее красоту и простоту.

Здесь использованы опции: ``z'' (сжать резервную копию программой ``gzip''), ``c'' (создать архивный файл), ``v'' (отображать список файлов при архивации), ``p'' (сохранить в архиве права доступа к файлам: при восстановлении они будут тоже восстановлены). Опция ``f'' (file) указывает, что следующий параметр задает имя файла или устройства длязаписи. Обратите внимание на то, что имя архивабудет содержать дату его создания, поскольку в имя файла включена команда ``date''. Общее соглашение об именах состоит в том, чтобы к имени архива добавлять ``tar'', а к имени сжатого архива добавлять ``

tar.gz''.

Опция ``--directory'' задает имя начального каталога, из которого надо брать данные для архивации (в данном случае ``/''). Опция ``--exclude'' указывает каталоги, которые не надо архивировать. Наконец, символ ``.'' указывает, что упаковать все надо с путями относительно текущего каталога.



Обратите внимание: Опции для tar cAsE-sEnSiTiVe! То есть, чувствительны к регистру символов. К тому же, многие опции могут задаваться как один символ (например, ``f'') или как несколько (например, ``file''). Краткая форма предваряется одним символом ``-'', а полная двумя такими символами.
<
Другой пример: запись только определенных файловых систем (в противоположность записи всех, кроме некоторых, как было показано выше).



tar -cvpf /dev/nst0 --label="Backup set created on `date '+%d-%B-%Y'`." \ --directory / --exclude=var/spool/ etc home usr/local var/spool
Здесь опция сжатия ``z'' не использована. Я строго рекомендую записывать именно несжатые данные на ленту потому, что при повреждении части ленты со сжатыми данными, Вы потеряете весь архив, а с несжатыми только ту часть, которая и правда оказалаась запорчена.

Поскольку стриммер устройство символьное, невозможно указать имя файла архива на ленте. Имя в команде tar просто задает имя устройства, ``/dev/nst0'', первый стриммер на SCSI.

Обратите внимание: При использовании имени ``

/dev/nst0'' лента не будет перемотана после записи архива, что позволяет записывать несколько архивов один за другим на ленту стриммера. А если перемотка нужна, используйте имя ``/dev/st0''.
Поскольку мы не используем имя файла, можно вписать сведения об архиве прямо в него опцией ``--label''.

Будут архивироваться файлы из каталогов ``/etc/'', ``/home/'', ``/usr/local'' и ``/var/spool/'' (кроме Squid cache).

При работе с лентой можно использовать команды для перемотки и извлечения кассеты из стриммера:



mt -f /dev/nst0 rewind


mt -f /dev/nst0 offline
Замечание: Первый символ ``/'' (slash) будет удален программой tar после создания архива. Такой режим работы задан по умолчанию и нужен, чтобы Вы случайно не перезаписали критические файлы их старыми версиями. Если Вы хотите как раз обратного результата, задайте параметр ``--absolute-paths'', тогда tar сохранит полные пути. Я не советую делать это, поскольку такой подход опасен!

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