Как сделать резервную копию debian

Обновлено: 04.07.2024

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

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

Настройка бэкапов

Для того, чтобы резервное копирование работало правильно, необходимо не хранить резервные копии на том же самом сервере. Поэтому данные мы будем копировать в хранилище данных NetAngels при помощи rsync. Вместо этого хранилища данных можно использовать свой backup сервер. Главное, чтобы он поддерживал rsync.

Для начала установите rsync

Создайте каталог /backup:

Создайте файл /usr/sbin/backup-tar.sh:

Скопируйте в него содержимое ниже:

Для сохранения нажмите на клавиатуре F2.

Установите бит исполнения:

Создайте файл /usr/sbin/backup-rsync.sh:

Измените строку full-backup на путь до папки на втором сервере, где стоит хранить данные. В случае с хранилищем данных NetAngels указывается относительный путь (т.е. без / в начале).

Для сохранения нажмите на клавиатуре F2.

Установите бит исполнения:

Осталось добавить задание в cron. Выполните от пользователя root:

Для сохранения нажмите на клавиатуре F2.

Скрипт бэкапа будет запускаться в 8 утра каждое воскресенье. Скрипт копирования данных на backup сервер linux будет запускаться в 23 часа каждое воскресенье.

Чтобы скрипты бэкапов работали, необходимо чтобы на диске сервера было свободное дисковое пространство.

Все мы помним (любим и скорбим) о добром привидении от Нортона – Norton Ghost. В мире Windows его можно считать незаменимым (хотя в конкурентах недостатка нет – прим. ред.). В этой статье мы поговорим о средствах резервного копирования для твоего любимого тукса. Более того, все рассматриваемые средства позволяют создать не просто резервную копию системы, а LiveCD/DVD.

Зачем нужно все это?

Для начала определимся, зачем админу средства для создания LiveCD. Наша цель – резервное копирование системы, но причем здесь LiveCD? Оказывается, это довольно удобно. Мы убиваем вот сколько зайцев сразу:

  • Создаем средство для восстановления системы. Предположим, ты настроил свою систему, поднял все сетевые службы, отредактировал их конфиги. Но завтра из-за очередного перепада напряжения сгорел винт. Опять все заново настраивать? Если ты накануне создал LiveCD, то тебе нечего беспокоиться. Заменил винт, загрузился с LiveCD (конечно, это будет LiveDVD, но по старинке мы здесь и далее будем называть его LiveCD) и установил систему вместе со всеми параметрами на новый винт. И все! На всю эту операцию будет потрачено полчаса. Пользователи и начальство будут тебе благодарны за столь оперативное «воскрешение» сервера. А теперь представь, что ты создал обычный бэкап с помощью tar/tgz. Тебе нужно минимум 40 минут на установку системы, потом время на восстановление бэкапа, плюс один лишний ребут. Однозначно времени будет потрачено больше.
  • Создаем средство для клонирования системы. Когда предприятие покупает компьютерный парк, то, как правило, все компьютеры однотипные (исключение составляют, разве что, серверы – они должны быть мощнее, и компьютеры начальства – у них должна быть мощная видеокарта :)). Вот теперь представь, что тебе нужно настроить каждый новый компьютер. А их может быть 10, 20, 50! Можно поступить проще. Настроить один компьютер, создать бэкап в виде LiveCD и «развернуть» этот бэкап на всех остальных компах сети. Пусть настройка одного компьютера займет полтора часа (установка системы + настройка), создание LiveCD – еще минут 30 (тут все зависит от способностей компьютера, потому что от тебя требуется ввод всего одной команды), затем запись образа на болванки. Да, именно на «болванки», потому что тебе нужно будет создать несколько копий LiveCD, чтобы ты смог одновременно устанавливать систему на несколько компьютеров. Затем еще минут 40 ожидания, и сразу будет настроено N компьютеров, где число N зависит от количества имеющихся болванок. Удобно? Думаю, да. Без LiveCD ты бы потратил полтора часа на каждый компьютер. 10 компов = 15 часов (два рабочих дня). А так ты настроишь эти 10 компов примерно за четыре часа. Остальное время можно делать вид, что настраиваешь компы, и ничего не делать. А время идет, зарплата начисляется! И еще – созданные «клоны» системы можно использовать в будущем, если компьютерный парк будет расширяться.
  • Возможность создания LiveUSB – загрузочная живая флешка понадобится для восстановления/клонирования операционки нетбука и других компов, где нет DVD -привода. Средства создания LiveCD позволяют также создать и загрузочную флешку.

Не нужно думать, что бэкап в виде LiveCD может использоваться только для копирования/восстановления файлов самой системы. Можно копировать и пользовательские данные из /home, лишь бы их размер не превысил размера DVD-диска. Хотя можно использовать двухслойные диски (двухсторонние использовать не удобно), что позволит увеличить объем резервируемой инфы.

Какие средства мы будем рассматривать?

Подобные утилиты можно найти и для других дистрибутивов, например, утилита mklivecd (подобна Remastersys Backup) используется для создания LiveCD на базе Mandriva. Вот, пожалуй, мы и назвали самое главное. Рассмотреть абсолютно все подобные утилиты мы не можем – журнал-то ведь не резиновый.

Clonezilla: бесплатный аналог Norton Ghost

Основные особенности Clonezilla

  • Полностью бесплатна (распространяется по лицензии GPL);
  • Поддерживает файловые системы Ext2, Ext3, Ext4, ReiserFS, Reiser4, XFS, JFS, FAT, NTFS, HFS (MacOS), UFS (FreeBSD, NetBSD, OpenBSD), VMFS (VMWare ESX), поэтому ты можешь клонировать не только Linux, но и MS Windows, Mac OS (Intel), FreeBSD, NetBSD и OpenBSD/;
  • Поддержка LVM2 (LVM ver 1 не поддерживает);
  • Поддержка GRUB версий 1 и 2;
  • Версия Clonezilla SE (Server Edition) поддерживает Multicast для массового клонирования по сети, при условии, что компьютеры поддерживают PXE и Wake-on-LAN;
  • Clonezilla может сохранить не только отдельно взятый раздел, но и весь жесткий диск со всеми разделами.

Clonezilla – программа непростая, сейчас мы рассмотрим лишь один из примеров ее использования (а именно – создание LiveCD и восстановление системы с его помощью), а познакомиться с остальными возможностями программы можно в документации или на сайте разработчиков.

Итак, для создания/восстановления бэкапа нужно выполнить следующие действия:

Вот и все! Как видишь, все довольно просто. Программа работает с устройствами (дисками, разделами) напрямую, поэтому при создании/восстановлении бэкапа все равно, под какой операционной системой работает компьютер.

Remastersys Backup: бэкап для Debian/Ubuntu

В отличие от Clonezilla, которая напрямую работает с устройствами, Remastersys Backup устанавливается на компьютер, работающий под управлением Debian или Ubuntu, запускается под управлением этой операционной системы и создает ISO-образ системы, под управлением которой она запущена.

Порядок работы с Remastersys следующий: ты настраиваешь свою систему, устанавливаешь Remastersys, запускаешь Remastersys, создаешь ISO-образ, который потом нужно будет записать на болванку.

Первым делом установим Remastersys. Открой файл sources.list:

sudo nano /etc/apt/sources.list

Добавь в него следующую строку

Сохрани файл и введи две команды:

sudo apt-get update
sudo apt-get install remastersys

Формат вызова remastersys следующий:

sudo remastersys backup|clean|dist [cdfs|iso] [filename.iso]

Пройдемся по опциям:

  • backup – создание резервной копии дистрибутива, включая пользовательские данные (каталог /home);
  • clean – удаление временных файлов, которые образуются в процессе создания дистрибутива. Обязательно введи эту команду после создания дистрибутива (для экономии места), но только после того, как скопируешь образ дистрибутива в другой каталог, иначе он тоже будет удален;
  • dist – создание дистрибутивного образа. То же самое, что и backup, но без копирования пользовательских данных из каталога /home;
  • cdfs – создание файла с файловой системой без создания ISO-образа (подходит, если хочешь создать ISO-образ другой программой);
  • iso – используется по умолчанию, создает ISO-образ дистрибутива;
  • [filename.iso] – последний параметр, задает имя ISO-образа, файл помещается в каталог /home/remastersys.

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

Если тебе больше нравится GUI, то можешь использовать GUI-версию программы (ничего особенного она из себя не представляет – только окошко с прямоугольными некрасивыми кнопками, позволяющими запустить ту или иную функцию программы). Запустить ее можно командой

Для создания LiveUSB в Ubuntu используется стандартная программа, запустить которую можно командой Система –> Администрирование –> Создание загрузочного USB-диска. Запусти ее, подключи флешку (4 Гб или больше, 2 Гб будет маловато) и нажми кнопку «Make startup disk». Через некоторое время загрузочная флешка будет готова.

Linux Live: бэкап в Slackware

Теперь очередь дошла и до Slackware. Очень хороший дистрибутив, пусть и не такой удобный, как Ubuntu, зато очень надежный. Для создания LiveCD в Slackware выполни следующие действия:

Summary

Итак, какую прогу выбрать? Если у тебя установлена Debian или Ubuntu, самым простым вариантом будет использование Remastersys Backup. Для бэкапа компов, работающих под самыми разными ОС, подойдет Clonezilla – наверное, лучший выбор для админа. А вот фанатам Slackware должны понравиться скрипты Live, но учитывая, что нужно будет перекомпиливать ядро, наверное, проще будет использовать Clonezilla для бэкапа слаки.

2. Смотрим, сколько у нас системой использовано, сколько места свободно (backup будем сжимать в архив, так-что размер будет меньше, чем текущее использование системой).

Файловая система Размер Использовано Дост Использовано% Cмонтировано в

/dev/sda2 73G 2,1G 67G 3% /

tmpfs 5,0M 0 5,0M 0% /lib/init/rw

tmpfs 152M 1,4M 151M 1% /run

udev 753M 0 753M 0% /dev

tmpfs 303M 0 303M 0% /run/shm

/dev/sdb1 147G 26G 114G 19% /web

В данном примере вся система установлена на раздел /dev/sda2 и занимает 2.1G, в корень этого раздела мы и будем копировать дамп, т.к. доступно ещё 67G.

3. Переходим в корень системы cd /

4. Выполняем копирование работающей системы (Внимание. Исключаем из копирования разделы /proc /lost+found /sys и сам архив /backup.tgz, + в данном примере исключаем раздел /web). Для чистоты бэкапа рекомендую вам почистить логи в /var/log , и удалить кеш архивов apt-get clean.

5. Смотрим ls -alh

теперь можно спрятать куда-нибудь в надежное место архив backup.tgz на случай сбоев работы сервера, а потом с лёгкостью восстановить систему в короткие сроки.

Восстановление системы Debian/Ubuntu (да и любого дистрибутива Linux) из созданного бэкапа:

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

1. Загружаемся с Live CD Linux (например Ubuntu, хотя можно и по легче выбрать образ, без графического интерфейса). Копируем backup системы в корень.

2. Распаковываем архив в корень раздела

tar xvpfz backup.tgz /

3. Теперь прописываем загрузочную область (Из личного опыта, если вы делали разметку GParted утилитой, то в начале диска обязательно оставьте несколько не задействованных мегабайт, иначе grub2 не установится).

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

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

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

2. Смотрим, как в системе Live CD определилось оборудование, в частности разделы жёстких дисков.

3. При старте компьютера (до загрузки ОС) заходим в редактор grub2 и правим конфиг в соответствии с менами разделов жёстких дисков.

4. Если система не может запуститься из-за "отсутствие файловой системы", значит нужно пересобирать initrd загрузчик (это загрузчик, который определяет всё оборудование, а потом далее передаёт ядру ОС управление и дальнейшую загрузку системы) с необходимыми модулями, выполнять это можно загрузившись с Live CD, примонтировав разделы /proc и /sys к системе, в которую мы будем компилировать /mnt/proc /mnt/sys , а далее авторизоваться, как будто бы работает система chroot /mnt

В принципе это самый простой способ для резервного копирования рабочей системы, никакие акронисов, никакик утилит для работы с клонированием разделов не надо, всё достаточно просто и быстро. При желании, можно сделать правило, на запуск скрипта в 01:00 ночи, который бы делал дамп системы к примеру 1 раз в неделю.

Резервное копирование с помощью Back In Time в Debian и Ubuntu

Обновим сведения о пакетах и установим программу командой:

$ sudo apt-get update && sudo apt-get install backintime-gnome -y

Или с помощью synaptic.

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

backintime окно настроек программы

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

backintime выбор хранилища бекапов

Потребуется указать адрес сервера и параметры авторизации на нем.

backintime интерфейс для задания параметров зашифрованного соединения ssh

Если выберите локально то создайте специальный каталог и укажите путь к папке. Желательно, что бы этот каталог находился на другом физическом диске.

В разделе "Расписание" укажите с какой периодичностью требуется выполнять backup. Есть стандартные варианты. Либо создать собственное расписание выбрав пункт меню "Ручная настройка периодизации". Если этого не требуется то оставьте его в состоянии "Отключен".

На вкладке "Включить" выберите папки и файлы которые хотите включить в резервную копию. Для этого нажмите кнопку "Добавить файл" ("Add File") или "Добавить папку" ("Add Folder"). Выберите нужные папки и файлы. Если какой то из элементов нужно удалить то нажмите кнопку "Удалить" ("Delete").

Вкладка включить BackInTime

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

вкладка исключить шаблоны файлов или папки чтобы не добавлять в хранилище BackInTime

Следующая вкладка называется "Автоматическое удаление". Не смотря на то, что диски все больше в объемах с каждым годом. Место все же кончается. И здесь мы можем указать как долго требуется хранить резервные копии.

 backintime - настройка автоматического удаления старых архивов с диска

На вкладке "Опции". Я оставляю как есть. Но на ноутбуке отключаю создание резервных копий если он работает от батареи.

вкладка опции в backintime

Осталась вкладка "Расширенные настройки". Это вкладка для опытных пользователей. Я оставляю всё по умолчанию.

вкладка расширенные опции backintime

После того как настроили профиль нажимаем кнопку "Ок". Откроется главное окно программы.

Главное окно программы

Интерфейс программы, как видим, простой. В верхней части находятся кнопки управления бэкапам.

Кнопки для управления резервными копиями

Назначение кнопок слева на право:

  1. Сделать резервную копию
  2. Обновить список резервных копий
  3. Название резервной копии
  4. Удалить резервную копию
  5. Просмотреть лог бэкапа
  6. Просмотреть последний лог
  7. Настройки
  8. Выключить систему после создания резервной копии
  9. Выход

Основное окно разделено на три части. В первой находится список созданных бэкапов. Во втором ярлыки каталогов. В третьем отображается содержимое папок. Таким образом можно просмотреть, что находится в любой из созданных резервных копий.

Восстанавливаем данные

Восстановить данные из ранее созданных резервных копий в back in time можно разными способами. Над третьей панелью есть ещё один бок с кнопками:

Алгоритм восстановления из бекапа, итерфейс

  1. Перейти в родительский каталог
  2. Показать скрытые файлы
  3. Восстановить
  4. Резервные копии

Можно выбрать нужную копию в главном меню и нажать кнопку номер "3". Можно даже выбрать папку или файл внутри резервной копии и нажав кнопку "3" восстановить их. Второй путь. Нажав кнопку под номером "4" отобразится список сделанных бэкапов.

список резервных копий

Здесь можно работать со всеми бэкапами. Восстанавливать, удалять, сравнивать и т.д. Выбрав нужный нажмите на уже знакомую кнопку "Восстановить". После завершения работы все данные будут восстановлены.

Читайте также: