Backup установленной системы Linux

Посмотрев на свой блог, решил немного разбавить статьи о билайне. Сегодня речь пойдет о важном и полезном деле — бекапе своей системы. Переходя с убунты на арч, я нашел и поселил почти все программы которыми пользовался на убунте. Или в официальном репозитарии, или в ауре. Кроме одной, remastersys. Эта прога для творения Live-системы из своей установленной системы. Программа не сложная, результат ее меня абсолютно улаживать. На арче ее не оказалось из-за различий в системных компонентах арча и убунты. А время от времени случать бэкапы необходимо. Тем более арч — это система-конструктор и было бы обидно потерять ее после длинных опций и подгонок под себя (особенно в первый раз устанавливая archlinux). Поэтому, после типичною длительности поиска, я нашел archiso. Программа конечно не такая user-friendly как remastersys (какой, между прочим, уже не разрабатывается), но все его функции выполняет отлично.

Все бы хорошо, но чтобы сделать live-cd поставленной системы с поддержкою archiso, нужно совершить немало подготовительных действий и, что самое основное, слишком множество времени занимает создание такого бэкапа. Поэтому поиски истины продолжены и, в последнем итоге, я остановился на обычном копировании. Пусть получается и не live-диск, а обыкновенный архив, но тем не менее быстро, а с помощью rsync очень быстро. Rsync позволяет воспроизводить инкрементально, то имеется: в первый раз копирование происходит как обычно, а в последующие разы копируются лишь те файлы, какие изменились относительно предыдущего копирования. Что позволяет совершать эту операцию в разы прытче. Для приступила нужно подготовить место куда копировать, так как бэкап может быть довольно большим (в зависимости от вашей системы). Я, например, монтирую в /mnt отдельный раздел на который станет исполняться копирование. Перехожу в папку /mnt, создаю в ней две папки: backup и out, перехожу в папку (Папка — конторская принадлежность, обложка, конверт для бумаг, скоросшиватель.Папка-регистратор — канцелярская папка с арочным устройством для хранения документов.Папка — экранный объект в) backup и исполняю такую команду:

Читайте также:  Почему программисты используют Linux?

rsync - axv /* . --delete --delete-excluded --exclude=/{dev/*,proc/*,sys/*,tmp/*,run/*,mnt/*,media/*,lost+found, var/lib/pacman/sync/*,var/cache/*,var/tmp/*,root/.bash_history, root/.thumbnails/*} --exclude=/home/*/.{thumbnails/*,mozilla/firefox/*.default/Cache/*,cache/chromium/*,bash_history, xsession-errors, local/share/recently-used. xbel}

В результате в этой папке появляется почти вся файловая структура вашей системы. Почти, потому что ключом —exclude мы исключили из копирования системные и временные папки и файлы (/dev, /proc, /sys, /tmp и т. д.). Вы можете отредактировать исключаемые файлы под свои нужды. Или хотя бы убедиться что эта команда в данном виде вам подходит.

• ключ — a — указывает что копирование файлов будет происходить рекурсивно в «архивном» режиме, какой-никакой гарантирует сохранение символьных ссылок, файлов-устройств, атрибутов, разрешений и т. д.

• ключ — x — при копировании не посещать за пределы файловой системы.

Читайте также:  Как получить бесплатный VPS сервер для тестирования и разработки без лишних затрат

• ключ — v — вывод подробной информации о копировании.

• ключ —delete — избавляет файлы, которые есть в принимающей папке, но которых нет в передающей папке.

• ключ —delete-excluded — в прибавление к файлам, удаляемым на приемной стороне из-за отсутствия их на передающей, удаляет также иные исключенные параметром —exclude файлы на приемной стороне.
С помощью последних двух ключей из картотеки станут удаляться те файлы и папки, которые вы копировали ранее, но решили их больше не воспроизводить. Здорово для поддержания актыульности вашего бэкапа.

Итак, на данном этапе у нас есть копия файловой системы на некотором разделе. Теперь нужно заархивировать ее, чтобы уменьшить занимаемое место и представить наш бэкап одним файлом. Для последующего копирования его, например, на флешку. Теперь вводим команду:

tar - caf "../out/my_backup. tar. gz" *

И через раздельное время получаем в папке /mnt/out архив с именем my_backup. tar. gz. Немного пояснений: ключи — cf — направляют tar создать архив с указанным именем. А ключ — a говорит тару автоматически определять по указанному расширению архива какой программой сжимать содержимое. В данном случае архив будет сжат программой gzip. * — означает что архивироваться будут все файлы, находящиеся в пролетарой папке. Приветствую, теперь у вас есть архив вашей рабочей системы. Теперь пару словечек о том как настроить систему из архива если она вдруг испортилась. Для этого загружаемся с любой линуксовой лайв-системы. Ставим куда-нибудь (я приверженец /mnt) раздел со сломанной системой и раздел с бэкапом, переходим в папку, куда организован раздел старой системы (множество элементов, находящихся в отношениях и связях друг с ином, которое образует определённую целостность, единство), удаляем все что там есть и выполняем следующую команду:

Читайте также:  Показывать размер файлов по человечески в Linux

tar - xf

Ждете покуда разархивируется. Затем с помощью chroot входите в новую систему, верховодите, если необходимо /etc/fstab, /etc/mkinitcpio. conf, создаете initramfs-образы:

mkinitcpio - p linux

и восстановляете меню загрузчика топорен:

grub-mkconfog - o /boot/grub/grub. cfg

Выходите из chroot и перезагружаетесь уже в востановленную систему! Может быть с первого прочтения все это выглядит очень сложным, но на самом деле нужно ввести всего лишь две команды для архивирования и три для восстановления. А если их объединить в скрипт, то вообще может быть полностью все автоматизировать. К слову сказать, мне за 5 лет использования арча пока еще не пришлось ни разу воспользоваться этим методом восстановления. Если и появляются какие-нибудь проблемы, они не настолько серьезные чтобы восстанавливать систему из бэкапа. Хотя само осознание наличия бэкапов придает уверенности.