Резервное копирование Linux серверов встроенными средствами

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

Резервное копирование (backup) — создание запасных копий серверов, может быть настроено по регулярному расписанию, а может выполняться однократно в удобный для пользователя момент. Преимущество в использовании утилит tar и dd - они являются предустановленными и просты в использовании.

Создание резервной копии с помощью dd

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

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

dd status=progress if=<исходный_диск> of=<полное_имя_копии> bs=8M conv=sync,noerror

Например:

dd status=progress if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror
  • status=progress - отображения прогресса;
  • if=/dev/sda - копируем весь жесткий диск sda;
  • of=/mnt/backup/sda.img - копируем в /mnt/backup/sda.img, где каталог /mnt/backup точка монтирования диска, на котором будет содержаться образ;
  • bs=8M - задаем размер кэша жесткого диска для ускорения процедуры копирования (иначе данные будут сбрасываться малыми порциями по 512 байт);
  • conv=sync,noerror - указываем dd на необходимость копирования по типу бит-в-бит с игнорированием ошибок чтения.

Восстановление из резервной копии с помощью dd

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

dd status=progress if=<полное_имя_копии> of=<целевой_диск> bs=8M conv=sync,noerror

Например:

dd status=progress if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror
  • status=progress - отображения прогресса;
  • if=/mnt/backup/sda.img - источник восстановления;
  • of=/dev/sda - диск на который восстанавливаем;
  • bs=8M - задаем размер кэша жесткого диска для ускорения процедуры копирования (иначе данные будут сбрасываться малыми порциями по 512 байт);
  • conv=sync,noerror - указываем dd на необходимость копирования по типу бит-в-бит с игнорированием ошибок чтения.

Создание резервной копии с помощью tar

Команда tar в Linux часто используется для создания архивов .tar.gz или .tgz, также называемых «tarballs». Эта команда имеет большое количество опций, для работы с архивами, но также с помощью нее можно создать резервную копию системы.

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

tar -cvpzf <имя_файла>.tar.gz --exclude=<имя_файла> --one-file-system <целевой_каталог>

Например:

tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /
  • c - создать новый резервный архив;
  • v - подробный режим, при котором выводится информация о текущих действиях;
  • p - сохранить права доступа на файлы;
  • z - сжать с помощью утилиты gzip;
  • f <имя_файла> - полное имя файла с резервной копией.
  • --exclude=<имя_файла> - имена файлов или каталогов, которые необходимо исключить из резервной копии.
  • --one-file-system - создать копию только одной файловой системы, т.е. если у вас есть смонтированные носители с другими файловыми системами, то они не будут включены в копию, их необходимо резервировать отдельно или использовать дополнительные опции.
  • / - в конце нужно указать каталог, запасную копию которого необходимо создать.

Восстановление из резервной копии с помощью tar

Для восстановления из резервной копий вашей системы используйте следующую команду:

sudo tar -xvpzf <имя_файла> -C <имя_каталога> --numeric-owner

Например:

sudo tar -xvpzf /path/to/backup.tar.gz -C /media/whatever --numeric-owner
  • f <имя_файла> - полное имя файла с резервной копией;
  • -C <имя_каталога> - каталог в который произойдет восстановление;
  • --numeric-owner - опция позволяет восстановить пользователей файлов по числовому дескриптору, а не по имени, во избежании ошибок.

« Назад »