Бэкап Ubuntu и полное восстановление

Опубликовано: Комментариев: 20
Бэкап Ubuntu и полное восстановление
Возможность случайного повреждения системы, даже такой надёжной как Linux, всегда существует. Как правило, переустановка ОС занимает много времени и сил. Чтобы избежать неприятностей подобного рода следует пользоваться резервным копированием (бэкап) Ubuntu Linux. Я не буду останавливаться на различных способах создания резервной копии Ubuntu, а расскажу метод, которым пользуюсь сам и советую другим. Мне его посоветовал один мой друг. Вы также можете посмотреть о создании резервной копии всех установленных программ в системе в этой статье. Но этот способ лучше использовать не для бэкапа системы, а в тех случаях, когда нам нужно установить аналогичное ПО на много компов, имеющих одинаковую ОС и конфигурацию.

Создание бэкапа ubuntu через Rsync

Положительные стороны создания бэкапа убунту именно при помощи rsync заключаются в том, что для копирования и восстановления системы нет необходимости в установке дополнительных пакетов и ПО. Всё делается при помощи консоли. Но не пугайтесь работы с консолью! В нашем случае всё будет предельно просто и понятно.

Пару слов о rsync:

Данная команда является очень мощным инструментом для работы с файлами. Ознакомиться с полным списком её возможностей можно написав в консоли man rsync. Предлагаемый мною метод резервного копирования ubuntu через rsync является самым простым и лёгким в освоении.

Бэкап Ubuntu на личном опыте

Чтобы всё было предельно просто — расскажу как у меня происходит backup системы. Мой жесткий диск разбит на 5 разделов, из которых 2 раздела отведено под Ubuntu — системный раздел / и раздел для информации пользователей /home. Я копирую всё содержимое системного раздела / на раздел пользователей в специальную папку /home/.backup. В случае неполадок ОС Ubuntu я запускаюсь с LiveCD и просто копирую бэкап убунту на системный раздел. Основываясь на этом примере ниже будет описана процедура резервного копирования и восстановления Ubuntu Linux.

Резервное копирование (бэкап) Ubuntu

Выполняем в консоли: sudo rsync -aulv -x / /home/.backup/ А теперь давайте разберёмся с синтаксисом этой нехитрой команды
  • sudo — получаем права суперпользователя root;
  • rsync — выполняем команду резервного копирования и задаём дополнительные аргументы -aulv и -x;
  • / —раздел, который подлежит копированию (системный раздел);
  • /home/.backup/ — место куда будут скопированы файлы (раздел пользователей).
Я специально поставил точку в начале имени директории, чтобы она была невидимой. А также указал, что владельцем директории является суперпользователь и доступ к ней только у него, чтобы лишний раз туда не лазить.

Восстановление Ubuntu через rsync

Допустим, у нас накрылась система и нужно восстановить убунту. Запускаем компьютер при помощи LiveCD с Linux, открываем консоль. Теперь нужно примонтировать (подключить) системный раздел и раздел пользователей, чтобы совершить восстановление системы и здесь можем пойти двумя путями. Первый способ основан на кликах мышки, а второй — на работе в консоли.

Способ №1

Открываем файловый менеджер и видим в левом углу список разделов жесткого диска на ПК. Подключаем их нажатием мышки, после чего они станут доступны для обзора, а их точка монтирования будет находится в директории /media/ . Определяем какой из разделов системный, а какой пользовательский. Недостаток такого способа в том, что разделы получат сложный адрес точки монтирования вроде /media/2F45115E1265048F. Запоминаем адрес точки монтирования системного и пользовательского разделов. Теперь переходим к непосредственному восстановлению, пропускаем раздел "Способ №2".

Способ №2

Для более продвинутых пользователей. Плюс в том, что мы сами назначим имя точкам монтирования и сможем обойтись без громозких адресов. 1. Выводим список разделов HDD: sudo fdisk -l эта команда покажет нам полный список разделов, имеющихся в системе. К примеру, у меня вот такая картинка. Устр-во Загр Начало Конец Блоки Id Система /dev/sda1 771120 27342629 13285755 83 Linux /dev/sda2 27342630 822190634 397424002+ 83 Linux /dev/sda3 * 822190635 883639259 30724312+ 7 HPFS/NTFS/exFAT /dev/sda4 883639260 976768064 46564402+ 5 Расширенный /dev/sda5 883639323 976768064 46564371 7 HPFS/NTFS/exFAT В столбце «Система» легко увидеть, что файловая система Linux располагается на разделах:
  1. dev/sda1
  2. dev/sda2
2. Монтируем Linux разделы командой mount. Для этого сперва создадим точку монтирования для каждого раздела: sudo mkdir /media/1 sudo mkdir /media/2 Используем mount чтобы примонтировать разделы: sudo mount dev/sda1 /media/1 sudo mount dev/sda2 /media/2 3. Определяем какой из разделов является системным, а какой есть папка пользователя. Можем либо просто зайти через файловый менеджер в примонтированные каталоги и посмотреть какой из них системный. Или же, воспользуемся командой ls (показывает список файлов по заданному адресу): ls /media/1 ls /media/2 Если Вы не слишком опытный пользователь — подскажу, что системный раздел Linux, как правило, будет иметь следующие папки: bin, boot, dev, etc, mnt и т. д. Допустим мы установили, что системный раздел сейчас примонтирван по адресу /media/1.

Непосредственное восстановление

1. Копируем файлы из резервной копии. Используем такую же команду: sudo rsync -aulv -x /media/2/.backup/ /media/1/
при использовании графического способа №1 вместо /media/1/ и /media/2/ у вас будут другие точки монтирования !
2. Отмонтируем разделы по окончанию копирования: sudo umount /media/1 sudo umount /media/2 Перезагружаем компьютер и наслаждаемся восстановленной из бэкапа Ubuntu.

Видеоурок по резервному восстановлению Ubuntu

На основании вышеописанного материала планирую записать показательный видеоурок по восстановлению Убунту в виртуальной системе.
Войдите, чтобы оставить комментарий
Комментариев: 20
deem 2013-04-14 20:35:30
Благодарю за простое и понятное изложение материала
timych_61 2013-11-30 20:34:02
Спасибо. Первый способ (для тупых)- гораздо проще. "сложный адрес точки монтирования..." ничего сложного нет, просто надо открыть нужный диск, далее папку, далее - свойства и скопировать их "location", А потом просто вставить это в терминал в нужное место. Получается элементарно просто, например: sudo /media/9653...(диск с бэкапом).../.backup/ /media/577d...(диск куда перезаписывается бэкап).../ вот и всё. И не надо этот кошмар "для продвинутых юзеров" во второй части. Удачи . Способ очень понравился.
Иван 2014-04-20 14:20:46
Рсинком бэкап делать можно на ждивой системе?
Alexander 2014-09-09 10:22:23
Сударь, а не кажется ли Вам, что в данная команда "sudo rsync -aulv -x / /home/.backup/" будет работать до того момента, пока не закончится дисковое пространство!? Забыли сделать исключение для самой папки .backup Без исключения оной команда застрянет в цикле и будет бесконечно долго архивировать папку .backup.
Slicks 2014-10-26 15:36:45
да, верное замечание. Но только в тех случаях, когда вся система на одном разделе. А у меня /home на отдельном разделе, и поэтому его исключать не нужно, т.к. он при таком раскладе не бекапится.
izzyskanin 2015-01-12 00:25:57
Подскажите пожалуйста: если сделать бэкап таким путем, затем в gparted сделать resize (увеличить) раздел root и восстановить туда систему. Она оживет ? Спасибо
Slicks 2015-03-19 19:21:11
Должна ожить. Возможно, /etc/fstab нужно будет подправить, если UUID раздела измениться
bayr 2015-09-25 03:58:38
Если таким образом забэкапить раздел /boot и директорию /home/opt, это будет работать? Спасибо.
Slicks 2015-09-26 20:38:43
Bayr, здравствуйте! Таким образом можно и /boot забекапить. В способе №1, что я описал, команда " sudo rsync -aulv -x / /home/.backup/" сделает резервную копию всего системного раздела, в том числе и /boot (только если она не вынесена на отдельный раздел в Вашей системе). Однако, если слетит MBR запись - к примеру если будет установлен Windows после Linux'a то тогда нужно будет восстановить MBR запись от Linux, чтобы появилась возможность запустить систему, вот статья на эту тему: https://slicks.name/linux/kak-vosstanovit-windows-mbr-pri-pomoshhi-ubuntu-livecd.html Да, /home/opt тоже можно забекапить в /home/opt-backup к примеру
NEOSTARK 2015-10-03 13:33:30
Спасибо за статью, для меня очень полезная инфа. Раньше делал все через dd
Alex 2015-11-22 22:19:14
Подскажите пожалуйста, как сделать исключение для самой папки с бэкапом?
Slicks 2015-11-28 17:41:36
Сделать исключение можно с параметром --exclude sudo rsync -aulv -x / /home/.backup/ --exclude=home/ в таком случае home и всё его содержимое не будет копироваться.
Леонид 2015-12-06 18:24:51
Андрей, по команде sudo fdisk -l обозначаются все разделы на моих HDD. Но, когда пытаюсь примонтировать выбранные разделы (sudo mount dev/sda5 /media/1 и sudo mount dev/sdb3 /media/2 ), то выскакивает mount: специальное устройство dev/sda5 не существует
Игорь 2015-12-09 20:57:23
Можете объяснить значение аргументов -aulv -x
Михаил 2016-01-21 10:36:52
Сразу оговорюсь, я новичок в Ubuntu/Linux. Так копировать можно и на работающей системе? Либо обязательно нужно из-под LiveCD? Заранее спасибо.
Slicks 2016-01-25 14:16:13
Да, теоретически и на работающей тоже. Но лучше все же с live CD зайти.
Сергей 2016-02-29 10:17:01
Подскажите, у меня такой вопрос. Если я зайду с Livecd примонтирую внешний HDD и укажу что бы buckup на него был скопирован, так можно сделать? Я бы и сам проверил, просто щас нет возможности сервер останавливать, только на выходных.
Slicks 2016-03-06 12:17:59
Сергей, да, конечно можно!
Алексей 2016-06-09 20:41:56
Добрый день! Подскажите, пожалуйста, моя система развернута в облаке, но администрирую я её сам. Виртуальный диск один - vda1. Могу ля воспользоваться для бэкапирования rsync и что нужно учесть? Спасибо.
Алексей 2019-12-28 17:45:38
Хорошо бы изложить этот материал для Grsync. Он намного проще и там есть пробный режим (симуляция).