Восстановление из backup linux

Резервное копирование и восстановление вашей системы Linux с помощью rsync

Создайте резервную копию с помощью rsync Если вам нужно сделать резервную копию вашей системы, нет лучшего способа, чем сделать резервную копию с помощью rsync.

Rsync (удаленная синхронизация) — популярный и мощный инструмент, используемый для копирования и синхронизации файлов и каталогов между удаленными или локальными системами Linux/Unix. С помощью rsync мы можем легко копировать/синхронизировать данные между локальными и удаленными каталогами, на разных дисках и в разных сетях.

В этом руководстве я покажу вам, как сделать резервную копию с помощью rsync, используя терминал Linux. Если вы предпочитаете графические программы, вы также можете использовать rsync с графическим интерфейсом.

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

Для создания этого руководства я буду использовать Arch Linux на виртуальной машине, созданной с помощью VirtualBox. Чтобы имитировать внешний жесткий диск, я подключу USB-флешку, где будет храниться резервная копия, а затем восстанавливаться. Я рекомендую вам сделать то же самое, чтобы проверить свою резервную копию. Это придаст вам уверенности в том, что ваша резервная копия работает, потому что непроверенная резервная копия не является резервной.

В этом случае мы будем использовать всю эту команду:

sudo rsync -aAXv —delete —dry-run —exclude=/dev/* —exclude=/proc/* —exclude=/sys/* —exclude=/tmp/* —exclude=/run/* —exclude=/mnt/* —exclude=/media/* —exclude=»swapfile» —exclude=»lost+found» —exclude=».cache» —exclude=»Downloads» —exclude=».VirtualBoxVMs»—exclude=».ecryptfs» / /run/media/alu/ALU/

Чтобы сделать резервную копию с помощью rsync, мы обычно используем командную строку. Я знаю, что не все уверены в инструментах командной строки, но вы поймете, что процесс не такой сложный, и вы также можете создать резервную копию своей системы с помощью командной строки.

Теперь мы переходим к объяснению, что означает эта команда:
sudo — выполнить команду от имени суперпользователя. Обязательное использование.
rsync — это сама программа, которую нужно использовать.
-a — режим архива.
-A — сохранить список контроля доступа.
-X — сохранить расширенные атрибуты.
По сути, эти три параметра означают сохранение всех атрибутов ваших файлов. Атрибуты или права владельца не будут изменены в процессе резервного копирования.
-v — покажет ход резервного копирования.
—delete — эта опция позволяет сделать инкрементную резервную копию. Это означает, что если это не ваша первая резервная копия, она сохранит только разницу между вашим источником и местом назначения. Таким образом, он будет создавать резервные копии только новых файлов и измененных файлов, а также удаляет все файлы в резервной копии, которые были удалены в вашей системе. Будьте осторожны с этой опцией.
—dry-run — этот параметр имитирует резервное копирование. Полезно для проверки его выполнения.
—exclude — Исключает папки и файлы из резервной копии. Я ввел exclude как отдельный параметр для каждого каталога. Вы также можете использовать его таким образом —exclude= . Но перед запуском rsync убедитесь, что вы изменили рабочий каталог на root (cd/), иначе опция совместного исключения может не работать.

Читайте также:  Supreme commander forged alliance linux

Исключенные папки напрямую зависят от каждого из нас, однако папки /dev/, /proc/, /proc/ /sys/ /tmp/ /run/ /mnt/ и /media не важны для резервного копирования, потому что rsyn не будет копировать их содержание./mnt/жизненно важно исключить их, если мы подключаем USB-накопитель.
/ — То, что мы хотим сохранить.
/run/media/alu/ALU — это то, что нужно для резервного копирования. Я рекомендую зашифровать место назначения, чтобы ваши данные были в безопасности.
Нажимаем Enter, команда будет выполняться в режиме симуляции (из-за опции —dry-run ). Таким образом мы тестируем ее, чтобы убедиться, что все в порядке. Если вы уверены, что все выполняется так, как вы хотите, вы удаляете —dry-run из команды и запускаете ее снова.
Примечание. Рекомендуется, чтобы на резервном диске была файловая система, совместимая с Linux, как ext4.

Источник

Резервное копирование и восстановление ОС Linux

Visitors have accessed this post 4426 times.

Автор — Максим Рязанов

Предисловие

Резервное копирование и восстановление ОС — базовый навык, которым должен обладать любой системный администратор. Поэтому давайте на примере практической задачи разберем, как это сделать в ОС Linux.

Допустим, что у нас есть ОС, все данные которой хранятся в одном разделе. Эту ОС необходимо мигрировать на другой сервер.

Гайд предполагает, что / (корень) — ваш загрузочный, если вы используете разметку диска MBR.

Из доступных средств у нас — только LiveCD/DVD/USB для резервного копирования и развертки системы. Системы резервного копирования отсутствуют.

Резервное копирование

Начнем мы с резервного копирования.

Шаг 0. Загружаемся с Live системы.

Шаг 1. Монтируем накопитель, на который будет производиться резервное копирование системы (директория монтирования ФС накопителя резервных копий в примере будет /media/backupdisk1, система смонтирована в /mnt).

Шаг 2. Создаем архив с резервной копией.

Команда архивации системы

tar cpJvf /media/backupdisk1/our_backup.xz --selinux --exclude /mnt/dev --exclude /mnt/proc --exclude /mnt/sys --exclude /mnt --exclude /media --exclude /mnt/lost+found --exclude /mnt/tmp /mnt/

Описание опций tar:

  • с — create — создать;
  • p — сохраняем владельцев файлов и права к файлам;
  • J — используем компрессию xz;
  • v — verbose, чтобы видеть, что происходит во время архивации;
  • f — указываем файл, куда мы хотим сохранить копию/архив;
  • — -exclude — исключить из архивации директории и файлы. Из архива исключаются каталоги, структура которых создается при загрузке операционной системы, в связи с чем нет смысла добавлять их в архив.
  • — -selinux — сохраняем контексты SElinux, примененные к файлам. Используйте только при наличии в системе SElinux и его поддержки tar (как правило, присутствует в актуальных системах)!

Шаг 3. Демонтируем раздел накопителя, на который архивировали систему.

Читайте также:  Linux для ядра i686

Восстановление из резервной копии

Шаг 0. Загружаемся с Live системы.

Шаг 1. Неплохо бы для начала развернуть базовую систему на диске для восстанавливаемой ОС.

Или создаем разметку диска и разделы на нем.

Шаг 2. Монтируем накопитель с резервной копией (в нашем примере — /media/backupdisk1, а корень установленной ОС примонтирован в /mnt).

Шаг 3. Распаковываем копию.

Команда разархивации

tar -xvpfJ --selinux /media/backupdisk1/our-backup.xz -C /mnt/

Описание опций tar:

  • x — extract, вытащить данные из архива;
  • v — verbose, чтобы видеть, что происходит во время разархивации;
  • p — сохраняем владельцев файлов и права к файлам;
  • f — указываем, из какого файла мы хотим восстановить копию/архив;
  • J — указываем при распаковке, что у нас используется компрессия xz;
  • -C — create. Восстановить структуру каталогов, воссоздав отсутствующие.
  • — -selinux — сохраняем контексты SElinux, примененные к файлам. Использовать только при наличии в системе SElinux и его поддержки tar!

Шаг 4. Если мы выполняем разархивацию не в готовую систему, восстановим директории, которые мы исключили из архивации, а также восстановим правильные права доступа к ним.

mkdir chmod -R 777 # или chmod -R 755 chmod -R 777 /mnt/tmp # конец или chmod -R 755 /mnt/dev chmod -R 555 # в случае наличия SElinux в системе укажем созданным директориям их контексты: chcon -R system_u:object_r:boot_t:s0 /mnt/boot chcon -R system_u:object_r:device_t:s0 /mnt/dev chcon -R system_u:object_r:proc_t:s0 /mnt/proc chcon -R system_u:object_r:sysfs_t:s0 /mnt/sys chcon -R system_u:object_r:mnt_t:s0 chcon -R system_u:object_r:tmp_t:s0 /mnt/tmp chcon -R system_u:object_r:lost_found_t:s0 /mnt/lost+found # или для восстановления контекстов перед загрузкой системы автоматически создайте в корне файл .autorelabel touch /mnt/.autorelabel # может занять очень много времени при наличии большого количества мелких файлов, но надежно и корректно расставит контексты перед загрузкой системы!

Обратите внимание! Для работы с SElinux при восстановлении ваша live система и утилита tar в ее составе должны поддерживать SElinux.

Восстановление загрузчика для MBR

Обратите внимание на этот пункт, если используете разметку диска MBR и развертку НЕ поверх установленной ранее системы.

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

Шаг 0. Монтируем уже рабочие служебные каталоги из live системы в восстановленную.

mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt # CHangeROOT - меняем корневой каталог. Теперь корнем будет корень восстановленной системы

Вызов bind mount присоединяет (частично) только одну файловую систему, а не возможные дополнительные монтирования в директории внутри нее. Вся файловая иерархия, включая дополнительные монтирования внутри монтируемой ФС, остается на своем месте.

Читайте также:  Linux зайти другим пользователем

Далее проверим, на каком диске у нас система:

root@rpulse ~ # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 25G 0 disk └─vda1 253:1 0 25G 0 part / root@rpulse ~ #

Установим туда загрузчик, потом сконфигурируем:

grub-install /dev/vda # установка # далее все зависит от того, какой версии grub у вас # не используйте следующие две команды поочередно, проверьте доступность первой! update-grub # один из вариантов конфигурации grub-mkconfig -o /boot/grub/grub.cfg # другой

Далее поправим наш fstab. Выполним команду blkid для идентификации UUID разделов. И после правим fstab.

root@rpulse ~ /dev/vda1: UUID="0ae7ab5c-e4e2-4641-87ad-d02b494b6553" TYPE="ext4" # потом указываем их в fstab root@rpulse ~ nano /etc/fstab # # /etc/fstab # Created by anaconda on Fri Jan 5 21:10:34 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=0ae7ab5c-e4e2-4641-87ad-d02b494b6553 / ext4 defaults 1 1 /swapfile swap swap sw 0 0

Или мы можем использовать вместо UUID — лейблы (labels). Помните, что в отличие от UUID, labels могут быть не уникальны.

root@rpulse ~ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 25G 0 disk └─vda1 253:1 0 25G 0 part / root@rpulse ~ nano /etc/fstab # # /etc/fstab # Created by anaconda on Fri Jan 5 21:10:34 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/vda1 / ext4 defaults 1 1 /swapfile swap swap sw 0 0

Теперь демонтируем разделы из live.

# выходим из chroot root@rpulse ~ exit # или CTRL+d # демонтируем разделы из live root@rpulse ~ umount /mnt/

А потом и раздел разархивированной системы и носителя с бэкапом.

Восстановление загрузчика UEFI

Обратите внимание на этот пункт, если используете разметку диска GPT и UEFI loader.

В данном примере будет использоваться конфигурация systemd-boot.

Вместо $(osconfigname) подставьте имя вашего конфига, указанного в esp/loader/loader.conf.

Файл esp/loader/entries/$(osconfigname).conf

root@rpulse ~ blkid /dev/vda1: UUID="0ae7ab5c-e4e2-4641-87ad-d02b494b6553" TYPE="ext4" /dev/vda2: UUID="14420948-2cea-4de7-b042-40f67c618660" TYPE="vfat" root@rpulse ~ nano esp/loader/entries/$(osconfigname).conf esp/loader/entries/arch.conf title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw

Заключение

Если вы повторили путь, описанный в статье, полностью — ура, теперь вы умеете делать резервное копирование и восстановливать ОС Linux. Если у вас возникли вопросы на каком-либо этапе, задавайте их в комментариях к статье, обязательно подскажем.

От редакции

Если вам интересно посещать бесплатные онлайн-мероприятия по DevOps, Kubernetes, Docker, GitlabCI и др. и задавать вопросы в режиме реального времени, подключайтесь к каналу DevOps by REBRAIN.

*Анонсы мероприятий каждую неделю

Источник

Оцените статью
Adblock
detector