Вопрос или проблема
Я возвращаюсь к Linux и использую Kubuntu 21.10, и я хочу сделать полноценную резервную копию системы, поскольку я уже настроил её так, как мне нравится. Это команда, которую я использовал для создания резервной копии на отдельном диске:
sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} "/media/backuppath/"
Вот как выглядят мои разделы для диска, который я хочу резервировать:
/dev/sda1 fat32 /boot/efi (основной)
/dev/sda2 расширенный
/dev/sda5 ext4 /
Я новичок в rsync, так что было бы полезно знать, обеспечит ли эта команда резервного копирования всё необходимое для восстановления точной резервной копии системы: настройки системы, установленные программы и т. д. Более важно, что мне нужно запустить для восстановления, если такая необходимость когда-либо возникнет?
Начнём с самого важного, вашего последнего вопроса.
То, что вам нужно запустить для восстановления вашей резервной копии, будет зависеть… от системы, которую вы запустите…
Потому что в худшем случае (в случае, когда ваша полная резервная копия действительно полезна) система, которую вы сделали резервной, просто сломана.
Поскольку у вас есть другой диск, как насчёт того, чтобы сделать его загрузочным, так что в крайние худшие случаи вы могли бы запустить свою систему с него и восстановить другой диск.
Другим немедленным преимуществом является то, что вы избежите восстановления работающей системы… что всегда приводит к непредсказуемым результатам.
В этом контексте вам, очевидно, следует избегать резервного копирования fstab и файла конфигурации загрузчика, а также самого загрузчика. => Добавьте их пути в список исключений.
Вам также понадобится функция –del утилиты rsync.
Вам также нужно делать резервное копирование (и восстановление) с минимальным количеством запущенных процессов. (Я всегда запускаю свои полные резервные копии rsync в консоли в однопользовательском режиме.)
Вы также предпочитаете монтировать свои целевые устройства в подкаталоги /mnt и предпочитаете rsync на /mnt/что-то вместо /media/что-то.
В моей системе всего 4 раздела: корень, загрузка, var и home. В качестве примера того, что я запускаю :
if mount -L "${DEST_SYS}_ROOT"
then
if mount -L "${DEST_SYS}_VAR" "/mnt/${DEST_SYS}_ROOT/var"
then
if mount -L "${DEST_SYS}_BOOT" "/mnt/${DEST_SYS}_ROOT/boot"
then
if mount -L "${DEST_SYS}_HOME" "/mnt/${DEST_SYS}_ROOT/home"
then
rsync -aXH --info=progress2 --del --exclude={"/boot/boot.${BOOT_EXCL}","/boot/map.${BOOT_EXCL}","/dev/*","/media/*","/mnt/*","/proc/*","/root/MySys/Conf/fstab","/root/MySys/Conf/lilo.conf","/root/MySys/Conf/issue","/run/*","/sys/*","/tmp/*","lost+found"} / "/mnt/${DEST_SYS}_ROOT"
И затем, возвращаясь к тому, с чего я начал, какую команду вы запускаете для восстановления вашей резервной копии? Ту же самую, запущенную из резервной системы.
Примечание: Конечно, если ваша система поломалась настолько сильно, что fstab или загрузчик были повреждены, вам может понадобиться восстановить их вручную.
Ответ или решение
Восстановление резервной копии с помощью rsync на Kubuntu 21.10
Ваша задача заключается в создании надёжной резервной копии системы с использованием инструмента rsync
, а также в восстановлении этой резервной копии в будущем. В этой статье мы подробно рассмотрим, как правильно выполнить резервное копирование и восстановление, а также учтем все нюансы, чтобы обеспечить максимальную эффективность.
Создание резервной копии
Для начала, ваш первоначальный командный вызов для создания резервной копии выглядит следующим образом:
sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} "/media/backuppath/"
Этот командный синтаксис достаточно хорош для создания полнофункциональной резервной копии вашей системы. Однако есть несколько рекомендаций для улучшения процесса:
-
Исключения: Помимо уже указанных исключений, вам также следует исключить файл
fstab
и конфигурацию загрузчика, если они находятся в искомых директориях, чтобы избежать возможных проблем при восстановлении. Это можно сделать, добавив их пути к списку исключений. -
Директория хранения: Вместо директории
/media/backuppath/
, рекомендуется монтировать целевую директорию на/mnt
, так как это более чистый подход к управлению точками монтирования. -
Аргумент
--del
: Использование параметра--del
вrsync
, позволит вам удалять файлы, которые были удалены из источника, из целевой директории при обновлении резервной копии. -
Минимизация работы процессов: Рекомендуется выполнять резервное копирование в однопользовательском режиме (single-user mode), чтобы уменьшить количество работающих процессов, которые могут повлиять на целостность данных.
Восстановление резервной копии
Теперь, когда у вас есть резервная копия, следующий шаг — это понять, как её восстановить. Важно отметить, что процесс восстановления может варьироваться в зависимости от того, какая система у вас загружена, но общие принципы остаются неизменными.
-
Загрузка с альтернативного bootable media: В идеале, имейте загрузочный носитель (например, Live USB или CD), чтобы вы могли загружаться в среду восстановления. Это поможет избежать проблем при восстановлении работающей системы.
-
Монтирование разделов: После загрузки с вашего альтернативного носителя, выполните команды для монтирования всех необходимых разделов. Например:
mount /dev/sda5 /mnt
-
Запуск команды rsync для восстановления: Основная команда для восстановления будет аналогична той, что вы использовали для резервного копирования, только укажите целевую директорию в качестве источника. Например:
sudo rsync -aAXv --info=progress2 --del "/media/backuppath/" /mnt/
Заключение
Регулярное использование инструмента rsync
для создания резервных копий и последующего восстановления позволяет вам сохранить целостность и доступность вашей системы в любой ситуации. Следуя этим рекомендациям и обеспечивая надежную конфигурацию, вы можете быть уверены в безопасности своих данных.
Соблюдение данных практик существенно уменьшает вероятность потери данных и сохраняет вашу продуктивность на высоком уровне.