Резервное копирование linux терминал

Как сделать резервную копию системы на Ubuntu/Linux?

Своевременно сделанная резервная копия операционной системы Ubuntu является одной из самых важных профилактических мер, направленных на поддержание стабильности работы сервера и его экстренное восстановление в случае аварии или сбоя. Но данная инструкция будет полезна и простым пользователям десктопных систем, которые с её помощью смогут создавать своеобразную точку восстановления данных. Для выполнения процедуры создания резервной копии пригодится утилита, необходимая для создания и редактирования архивов в ОС Linux – tar.

Создание копии системных данных

Пошагово создание резервной копии системы Ubuntu выглядит следующим образом:

1. Для Ubuntu подходит команда sudo su, а для Debian – используем su -l root

2. Смотрим количество места, которое уже использовано системой, и которое остается свободным. Поскольку backup будет сжиматься в архив, то по объему он получится в разы меньше, чем занимает ОС на данный момент.

Как указано в описанном выше конкретном случае система находится по адресу /dev/sda2 и своим объемом она занимает в целом 2.1G объема. Бекап будет скопирован в корневой раздел этого же диска, где имеется 67 Гб свободного пространства.

3. Для продолжения создания резервной копии системы Linux перемещаемся в корневой раздел cd /.

4. Переходим к копированию системы. Но здесь важно исключить разделы /proc /lost+found /sys, как и сам архив /backup.tgz, кроме того, убираем и раздел /web. Если необходима идеально чистая резервная копия, то предварительно следует выполнить очистку логов в /var/log , и удалить кеш выбранных нами архивов apt-get clean.

tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys –exclude=/web / 
-rw-r–r– 1 root root 607M Янв 7 13:28 backup.tgz

Полученный архив с файлами следует надежно хранить отдельно и при необходимости его можно будет сразу использовать для восстановления данных системы.

Пошаговая инструкция по восстановлению из back-апа

Проще всего восстанавливать систему на том же оборудовании с теми же виртуальными разделами, с которых делался бекап. Это займет всего несколько минут. Порядок действий будет таков:

1. Выполняем загрузку с диска Live CD Linux, никаких сторонних программ не требуется, и копируем архив в корневой каталог.

2. Распаковываем выбранный архив непосредственно в папку расположения

3. Остается только прописать место, куда выполняется загрузка. Если разметка делалась с помощью GParted, то стоит предусмотреть около 10 свободных мегабайт, в противном случае grub2 может и не стать.

grub-install –root-directory=/mnt/ /dev/sda2

4. Далее нужно создать отдельные каталоги /proc /sys. При перезагрузке обратите внимание на логи в процессе загрузки.

Если системные данные нужно перенести на новое устройство, то всё слегка усложняется:

1. Распаковываем наш архив.

2. С помощью Live CD проверяем распределение дисков и их объем.

3. При повторной перезагрузке сервера входим в grub2 и редактируем названия имеющихся дисков.

Читайте также:  Клиент на базе linux

4. Когда запуск невозможен при «отсутствии файловой системы», придется переделать заново initrd загрузчик, с учетом требуемых модулей. Для этого примонтируют разделы /proc и /sys к базе, где компилируются /mnt/proc /mnt/sys, а потом можно пройти авторизацию в chroot /mnt.

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

Высокопроизводительные VPS сервера Linux на без KVM-виртуализации идеально подходят для крупных интернет-проектов. В сочетании с этой операционной системой серверные компьютеры демонстрируют хорошую производительность, а SSD хранилища данных способствуют увеличению их быстродействия. У нас вы сможете взять в аренду VPS и VDS Linux сервера.

Облако на сервере Ubuntu поможет решить проблемы с масштабируемостью проектов. Под высокой нагрузкой сайту или будет выделяться больше ресурсов.

Под dedicated сервером подразумевают аренду серверного компьютера для решения задач конкретного проекта. Клиент получает возможность свободно распоряжаться ресурсами виртуальной машины, устанавливать любое программное обеспечение и создавать необходимое количество баз данных.

Источник

Резервное копирование linux терминал

Основой этой работы послужила статья: Статья
К сожалению, указанная статья, если следовать её рекомендациям, у меня привела к ошибкам в создании архива. Возможно, это связано с тем, что в современных дистрибутивах Линукса, — а я делал бэкап на Cinnamon 19.2, — изменились правила работы команды tar. В частности, команда tar у меня не восприняла ключ -C, вместо этого создав архив с именем «-С». Кроме того, упаковка и распаковка архива пошла в неправильные папки, что тоже создало определённые проблемы, с которыми мне помогли разобраться здесь на форуме.
Теперь и я хочу поделиться данной практической наработкой. Возможно, эти описания кому-то станут полезными и сэкономят новичкам часы работы.
Итак, как говорится, поехали!

Прежде всего загружаемся с установочного диска CD/DVD Линукса (после загрузки на Рабочем столе должен находиться ярлык «Install Linux Mint»).
Здесь, как мне тоже советовали, можно пойти в программу «Диски» установочного диска Линукс и провести бэкап, не заморачиваясь командами терминала и командой tar. Команда «Диски» находится по этому пути: Menu (аналог кнопки «Пуск» в Windows) —> Preferences —> Disks. Далее там можно сделать бэкап нужного раздела диска. Но здесь есть один нюанс. Как выяснилось (у меня во всяком случае так), бэкап получается итоговым размером с раздел диска. То есть, если у вас Линукс стоит, например, на разделе размером 25 Гигабайт, а занимает только 6 Гигабайт, то итоговый размер бэкапа будет 25 Гигабайт. Если у вас размер жёсткого диска позволяет создавать такие бэкапы, можете воспользоваться этим, без сомнения, более простым способом создания бэкапа и восстановления из него. Я же в этой статье покажу путь создания и восстановления из бэкапа меньшего размера, чем даже размер Линукса.
Допустим, нужный раздел, где будет храниться бэкап системы Линукс у нас уже создан. Пусть сам Линукс — это /dev/sdaX, а дополнительный раздел (для бэкапа) — это /dev/sdaY. Вместо X и Y поставьте те номера, которые относятся к вашей системе. У меня, например, /dev/sdaX — это /dev/sda7, а /dev/sdaY — это /dev/sda6. У вас это могут быть другие номера разделов диска.
Если раздел для хранения бэкапа не создан, его предварительно нужно создать программой Menu —> Administration —> GParted установочного диска Линукс и отформатировать в той же файловой системе, в которой отформатирован раздел с установленным Линуксом, например, в ext4.

Читайте также:  Создать bash файл linux

Создаём в корневом разделе загруженного liveCD две папки: корневую, к которой примонтируем наш Линукс, который требует бэкапа, и бэкаповскую, к которой примонтируем дополнительный логический диск, на который будем писать файл бэкапа. Делаем это так.
Запускаем терминал.

Эта команда создаёт сразу две папки: /mnt/root и /mnt/backup. В команде текст «/mnt/» нужно писать без пробелов. Пароль для sudo он не просит, в liveCD его вводить, вообще говоря, не требуется.
Монтируем оба раздела. Корневой раздел на всякий случай монтируем с опцией (-о) «read-only»:

sudo mount /dev/sdaX /mnt/root -o ro sudo mount /dev/sdaY /mnt/backup
cd /mnt/root && sudo tar -cvzpf /mnt/backup/mintarchive.tar.gz *

Этой команды нет в исходной статье, из-за чего упаковка и распаковка происходила в неправильные папки. Здесь мне тоже подсказали, как делать уважаемые форумчане. Мы переходим в папку /mnt/root и всё содержимое оттуда («звёздочка») отправляем в архив mintarchive.tar.gz, находящийся в папке /mnt/backup.
Перед cd писать sudo не надо, так как sudo не воспринимает команду cd, а перед tar писать sudo надо!, иначе некоторые файлы не смогут добавиться в архив с выдачей сообщения “Permission denied”. (Проверить потом, все ли файлы и папки добавились в архив, можно в терминале с помощью меню “Search / Find” Ctrl+Shift+F и искать по фразе или по куску фразы “Permission denied”).
Бэкап 6,7 Гигабайт Линукса у меня выполняется порядка 16 минут и в результате имеет объём в районе 2,1 Гигабайт (сжатие в три раза). Узнать время выполнения можно, щёлкнув затем правой кнопкой на архиве бэкапа, и вычислив в свойствах файла разницу между значениями времени Modified и Created. Также можно использовать в терминале команду date перед началом архивирования и сразу после него (эта команда выдаёт дату и время).
Ключ -p здесь обозначает сохранение владельцев и прав доступа к файлам. Ключ -c — это создание архива (в отличие от ключа -x, распаковки архива). Ключ -v — вывод всех добавляемых файлов на экран. Ключ -z — тип создаваемого архива (tar.gz). Ключ -f — нужен для упаковки файлов в файл. Находил информацию, что без этого ключа tar будет брать данные из потоков консоли (stdin, stdout), но что это вообще такое и к чему приведёт tar без -f на практике, не вникал. Проще этот ключ поставить, раз он нужен.
Когда бэкап выполнился (в терминале появится снова приглашение ввода), делаем возврат в Домашнюю папку и отмонтирование смонтированных разделов:

Читайте также:  Open syscall in linux

После этого папки в liveCD root и backup должны быть пустыми, а сам архив-бэкап системы должен находиться на дополнительном диске бэкапов Линукса, который для этого создавался и форматировался. Этот архив можно скопировать на всякий случай даже на раздел Windows и хранить его там (у меня две системы на компьютере: Windows XP и Линукс). Но для восстановления бэкапа, его следует предварительно скопировать на дополнительный диск Линукса (на /dev/sdaY).

Теперь посмотрим на то, как делается восстановление из бэкап-архива.
Загружаемся с установочного диска Линукс. Копируем бэкап-архив оттуда, где мы его храним, на дополнительный логический раздел Линукс /dev/sdaY (если этого файла архива там нет).
Создаём в терминале точки монтирования для корневого раздела и раздела, на котором хранится бэкап-архив:

sudo mount /dev/sdaY /mnt/backup -o ro

Здесь можно пойти в программу GParted, которая есть на установочном диске liveCD и отформатировать старый раздел с Линуксом /dev/sdaX. Но это может привести к непредсказуемым последствиям, с которыми я столкнулся, когда сделал это: от падения выборщика загрузки GNU GRUB до неясных ошибок, типа «Адрес не является папкой» из-за того, что при форматировании меняется шестнадцатеричный код раздела UUID, а дальнейшая смена этого кода в файле /etc/fstab, как написано в указанной в начале статье, недостаточна для восстановления работоспособности Линукса. В каких ещё файлах хранится UUID и где его следует поменять ещё — непонятно. Поэтому мне был предложен более прогрессивный вариант с удалением старых файлов Линукса. Поэтому ничего форматировать не нужно.
Примонтируем раздел со старыми (которые нужно заменить бэкап-архивными) файлами Линукса к /mnt/root:

sudo mount /dev/sdaX /mnt/root

Эта команда удаляет всё. Выполняется быстро (у меня примерно за 1 минуту).
Ключи команды: -f — усиленное (forced) удаление, то есть удалить всё, не задавая никаких вопросов; -r — удаляет каталоги и их содержимое рекурсивно; -d — удаляет пустые каталоги; -v — выводит на экран список удалённого.
Проверить потом, всё ли удалено, можно в окне папки /mnt/root, или введя для /mnt/root в терминале команду ls.
Теперь распаковываем содержимое архива на место:

cd /mnt/backup sudo tar --preserve-permissions --same-owner --directory=/mnt/root -xvf mintarchive.tar.gz

Команде tar здесь даны указания сохранить разрешения и владельцев файлов и каталогов; распаковать содержимое архива в папку /mnt/root.
Распаковка архива с чистым Линуксом у меня заняла примерно 6 минут.
Делаем в терминале размонтировку всех смонтированных разделов, предварительно вернувшись в Домашнюю папку, так как после распаковки архива находимся в /mnt/backup:

Перезагружаем компьютер. Во время перезагрузки DVD-ROM отдаёт диск liveCD, и мы заходим в Линукс. GNU GRUB не слетел. Менять UUID не надо. Несколько часов работы на обновлённом бэкапом Линуксе казусов не выявили.
Надеюсь, что эта информация кому-нибудь из новичков будет полезна. Спасибо за внимание!

Источник

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