Как сделать резервную копию всей системы Linux с помощью Rsync

Сделать бэкап Linux системы можно с помощью Rsync командой всего в одну строку. Хотя у rsync есть много параметров для резервного копирования, но нам данной строки достаточно для полного копирования системы. Кроме того, этот метод намного лучше, чем клонирование диска с помощью команды dd. Потому что, для rsync неважно, имеет ли ваш HDD другой размер или использует другую файловую систему. Этот метод будет работать практически на всех Linux-системах, в которых установлен rsync. В этом кратком how-to я расскажу, как создать полную резервную копию системы Linux с помощью утилиты Rsync.

Для начала, нам нужен резервный носитель (USB-флешка или внешний жесткий диск). Далее нужно узнать имя диска, используя команду «fdisk -l». В моем случае диск определился как /dev/sdb1. Теперь примонтируем наш резервный накопитель в любое удобное место, я выбрал /mnt.

$ sudo mount /dev/sdb1 /mnt

Чтобы создать резервную копию всей системы, все, что вам нужно сделать, это открыть терминал. Затем запустить в нем следующую команду от имени пользователя root:

$ sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt

Эта команда создаст резервную копию всей корневой директории (/), исключая директории /dev, /proc, /sys, /tmp, /run, /mnt, /media,  lost + found в папке / mnt.

Давайте разберём вышеуказанную команду и узнаем, для чего каждый параметр.

  • rsync — быстрая, универсальная, локальная и удаленная утилита копирования файлов.
  • -aAXv — файлы передаются в режиме «архив», что гарантирует сохранение символических ссылок, устройств, разрешений, владельцев, времени модификации, списков ACL и расширенных атрибутов.
  • / — Исходный каталог.
  • —exclude — исключает заданные каталоги из резервной копии.
  • /mnt — это папка назначения резервного копирования.


Обязательно исключите целевой каталог, если он существует в локальной системе, иначе будет бесконечный цикл копирования.

Чтобы восстановить систему из резервной копии, просто измените исходные и целевые пути в приведенной выше команде.

Помните, что это подходит только для локальных и автономных систем. Если ваша система активно используется некоторыми другими системами в сети, то это не лучшее решение. Потому что содержимое этих систем может постоянно обновляться каждую минуту, а некоторые файлы могут меняться в процессе rsync. Например, когда rsync достигнет файла 2, содержимое предыдущего файла (Файл 1) может быть изменено. Это приведет к ошибке с зависимостями, когда вам понадобится использовать эту резервную копию. В таких случаях резервное копирование на основе снимков является лучшим подходом. Поскольку система будет «заморожена» до того, как процесс резервного копирования запустится и будет «разморожен», когда процесс резервного копирования завершится, поэтому все файлы будут согласованы.

На этом все. Надеюсь кому-то это поможет. Если считаете наши статьи полезными, поделитесь ими в своих социальных и профессиональных сетях, чтобы другие пользователи могли также воспользоваться ими. Мы будем продолжать публиковать более полезные статьи как можно чаще. Оставайтесь с нами.

Удачи !

Оставьте комментарий