20.02.2020

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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