Консультация по продукту 1cloud

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

В инструкции описан процесс создания резервной копии системы с операционной системой Linux с помощью утилиты dd и tar.

Что это такое?

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

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

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

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

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

Например:

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

Примечание: на целевом диске должно быть достаточно места, т.е. не менее того объема, который занимает исходный диск.

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

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

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

Например:

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

Создание резервной копии с помощью 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 - опция позволяет восстановить пользователей файлов по числовому дескриптору, а не по имени, во избежании ошибок.

Создавать резервную копию очень удобно по настроенному расписанию, о том как настроить планировщик Linux Cron читайте в нашей статье. Это позволит автоматизировать создание копий сервера или данных.

Примечание:
В рамках нашего сервиса есть услуга резервного копирования серверов, копирование выполняется 1 раз в сутки на территориально удаленный дисковый массив, при этом вам не нужно самостоятельно выполнять настройки резервирования, а сохранность копии не зависит от работоспособности сервера.

 

Средняя оценка: 5,0, всего оценок: 11