Введение в Unix

       

Сохранение и восстановление файлов


Независимо от объема данных, в системе важно иметь регулярную процедуру сохранения (копирования) файлов, чтобы обеспечить восстановление в случае их аварийной потери.

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

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

В различных реализациях системы могут быть разные команды сброса файлов в архив и восстановления их из архива. Это может быть пара команд dump и restor для передачи файлов в архив и обратно соответственно. Или это может быть одна команда cpio (или tcio для кассетной ленты) с опциями -0 или -i для сброса в архив и извлечения из архива соответственно.

Наиболее мощным средством сброса в архив в некоторых реализациях служит команда backup, являющаяся командным файлом, использующим команды типа cpio/tcio и fsck.

Команда backup позволяет параметрировать процедуру сброса в архив простым редактированием ее текста, задавая следующие параметры:

  • имя каталога сбрасываемой иерархии файлов;
  • имя учетного файла процедуры сброса;
  • имя даты последнего сброса;
  • имя файла с напоминанием смены архивной ленты (если архив не умещается на одной ленте);
  • спецификация архивного устройства;
  • имя учетного файла процедуры проверки файловой системы.




Наконец, для сброса на ленту или гибкий диск и обратного восстановления применяется команда tar (tape archive). В отличие от некоторых перечисленных выше команд, она доступна не только администратору системы, но и любому пользователю. Например, чтобы сбросить все файлы текущего каталога на гибкий диск, создавая архив впервые (опция c - create), надо выполнить команду:

tar cf /dev/fl0 *

Опция f (file) указывает, что следующий параметр является именем спецфайла, соответствующего архивному устройству; * - метасимвол, показывающий, что копируются в архив все файлы.

Для просмотра содержимого архива надо употребить опцию t (listing):

tar tf /dev/fl0

Чтобы извлечь из архива указанные файлы, надо выполнить эту же команду с опцией x (extract). Например, для восстановления всех файлов, имена которых оканчиваются на people, надо выполнить команду:

tar xf /dev/fl0 *people

Файлы с этими именами уже должны существовать в текущем каталоге. В случае, если в текущем каталоге указанных файлов нет, можно восстановить все файлы из архива в указанном каталоге, например:

tar xf /dev/fl0 mary,

где mary - каталог.




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