Резервное копирование Linux-серверов

Создание резервных копий – одна из неотъемлемых задач системного администратора. Рассмотрим, как осуществить процедуру с помощью встроенных утилит dd и tar на семействах ОС Linux.

Создаем бэкап

1. Утилита dd является одной из первых в своем направлении. У нее отсутствуют некоторые опции, которые доступны на современных аналогах, но она удобна и проста в использовании. К тому же, исходный файл бэкапа читается другими программами без проблем.

Запускаем утилиту с заданными параметрами:

dd if=xxx of=yyy bs=8M conv=sync,noerror

Синтаксис следующий. XXX – имя диска, с которого производится резервное копирование, а YYY – наименование файла бэкапа.

Операнд bs задает размер кэша жесткого диска. Установим его на 8 Мб, чтобы копирование происходило быстрее. Параметр conv указывает на то, что копирование файлов происходит побитно с пропуском ошибок чтения.

2. Команда tar в основном используется для создания архивов, но ее используют и для бэкапов:

tar -cvpzf name1.tar.gz --exclude=name2 --one-file-system folder1

  • name1 – произвольное имя для новой резервной копии;
  • exclude=name2 означает, что из архива исключаем все папки и файлы с таким именем;
  • one file system сообщает архиватору о том, что используем только одну файловую систему;
  • folder1 – имя директории, резервная копия которой создается командой tar.

Как восстановить

1. Чтобы выполнить восстановление из резервной копии, используем следующий синтаксис:

dd if=ZZZ of=QQQ bs=8M conv=sync,noerror

Расшифровка следующая. ZZZ – имя бэкапа с указанием пути до него. Например, /mnt/backup/21082019.img, QQQ – диск, на который восстанавливается копия.

2. Архиватор использует немного другой набор команд:

sudo tar -xvpzf XXX -C YYY --numeric-owner

  • XXX – полное наименование архива;
  • YYY – директория, в которой будет перемещена разархивированная информация.

Последний ключ (--numeric-owner) означает, что пользователи тоже будут восстановлены, но не по учетному имени, а по числовому значению.