Linux backup

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

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

В этой статье мы рассмотрим 14 инструментов резервного копирования, которые можно использовать на серверах или системах Linux.

1. Rsync

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

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

Примеры использования Rsync

Домашняя страница: https://rsync.samba.org/

2. Fwbackups

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

Возможности Fwbackups:

  • Простой интерфейс
  • Гибкость в конфигурации резервного копирования
  • Удаленное резервное копирование
  • Резервирование всей файловой системы
  • Возможность исключить файлы/каталоги и многое другое

Домашняя страница: http://www.diffingo.com/oss/fwbackups

3. Bacula

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

Он основан на работе в сети и состоит из следующих программ:

  • a director: программа, которая контролирует все операции Bacula.
  • a console: программа, которая позволяет пользователю общаться с «director» из пункта выше.
  • a file: программа, установленная на резервном компьютере.
  • storage: программа, которая используется для чтения и записи на вашем устройстве.
  • catalog: программа, отвечающая за используемые базы данных.
  • Monitor: программа, которая отслеживает все события, происходящие в разных частях Bacula.

Домашняя страница: http://www.bacula.org/

4. Backupninja

Это мощный инструмент резервного копирования, который позволяет пользователям создавать файлы конфигурации резервной активности, которые можно поместить в каталог /etc/backup.d/. Он помогает выполнять безопасные, удаленные и инкрементные резервные копии по сети.

Он имеет следующие функции:

  • Легко читает файлы конфигурации типа ini.
  • Расписание резервного копирования
  • Пользователи могут выбирать, когда к ним отправляются сообщения о статусных отчетах.
  • Легко создайте файл конфигурации резервного копирования с помощью мастера на основе консоли (ninjahelper).
  • Работает с Linux-Vservers.

Домашняя страница: https://labs.riseup.net/code/projects/backupninja

5. Simple Backup Suite (sbackup)

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

Он имеет следующие функции:

  • Создает сжатые и несжатые резервные копии.
  • Поддерживает несколько профилей резервного копирования.
  • Позволяет вести журнал, уведомления по электронной почте.
  • Запланированные резервные копии и возможность выполнять резервные копии вручную.
  • Разделение несжатых резервных копий на несколько фрагментов.
  • Поддерживает локальные и удаленные резервные копии.

Домашняя страница: https://sourceforge.net/projects/sbackup/

6. Kbackup

Это простой в использовании инструмент резервного копирования для операционной системы Unix и может использоваться в Linux. Он может создавать архивы и сжимать их, используя утилиты tar и gzip.

Kbackup имеет следующие возможности:

  • Удобное меню-интерфейс.
  • Поддержка сжатия, шифрования и двойной буферизации.
  • Автоматическое резервное копирование.
  • Высокая надежность.
  • Поддержка полного или инкрементного резервного копирования.
  • Удаленное резервное копирование по сетям.
  • Обширная документация.

Домашняя страница: http://kbackup.sourceforge.net/

7. BackupPC

Это программное обеспечение для кросс-платформенной резервной копии, которое может работать в Unix/Linux, Windows и Mac OS X. Оно предназначено для использования на уровне предприятия с высокой производительностью. BackupPC может использоваться на серверах, настольных и портативных компьютерах.

Он имеет следующие функции:

  • Сжатие файлов для уменьшения использования дискового пространства.
  • Нет необходимости в клиентском программном обеспечении.
  • Гибкость при восстановлении резервной копии
  • Гибкость в настройке с помощью различных параметров.
  • Пользовательские уведомления о необходимости резервного копирования и т.д.

Домашняя страница: http://backuppc.sourceforge.net/

8. Amanda

Amanda — это программное обеспечение с открытым исходным кодом, которое работает в Unix/GNU Linux и Windows. Оно поддерживает собственные утилиты резервного копирования и форматы, такие как GNU tar для резервного копирования в Unix/Linux. А для резервного копирования на Windows-машине он использует собственный клиент Windows. Пользователи могут настроить один резервный сервер для хранения резервных копий с нескольких компьютеров в сети.

Домашняя страница: http://www.amanda.org/

9. Back Time

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

Он имеет такие функции:

  • Место хранения для сохранения моментальных снимков.
  • Ручное или автоматическое резервное копирование.
  • Каталоги для резервного копирования.

Домашняя страница: http://backintime.le-web.org/

10. Mondorescue

Это бесплатное программное обеспечение для резервного копирования и восстановления, которое является надежным и поддерживает множество функций. Оно может выполнять резервное копирование с персональных компьютеров, рабочих станций или серверов на разделы жесткого диска, ленты, NFS, CD-, DVD-R, DVD +R и т.д.

Также обладает возможностями по восстановлению данных в процессе резервного копирования в случае любых деструктивных событий.

Домашняя страница: http://www.mondorescue.org/

11. Box Backup Tool

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

Он имеет такие функции, как:

  • Онлайн-резервные копии
  • Резервный демон для создания автоматических резервных копий
  • Хранение резервных копий в файлах
  • Сжатие данных и шифрование

Домашняя страница: https://www.boxbackup.org/

12. Luckybackup

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

Он имеет множество функций, таких как:

  • Сохранять права собственности и права доступа к файлам.
  • Создайте несколько снимков резервных копий.
  • Расширенные файлы параметров и каталоги.
  • Исключить опции и использовать параметры rsync и многое другое.

Домашняя страница: http://luckybackup.sourceforge.net/

13. Areca

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

Он имеет такие функции, как:

  • Уведомления по электронной почте о процессе резервного копирования.
  • Простота в использовании с точки зрения конфигураций.
  • Просмотрите архивы и многое другое.

Домашняя страница: http://www.areca-backup.org/

14. Bareos Data Protection

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

Домашняя страница: https://www.bareos.org/en/

Итог

Всегда помните, что резервное копирование очень важно и помогает предотвратить потерю данных, и вы можете использовать различные инструменты резервного копирования для Linux для регулярного резервного копирования ваших данных.

Вы можете использовать инструмент резервного копирования, на который мы не смотрели, сообщите нам об этом, разместив комментарий и надеясь, что статья окажется полезной и всегда не забудьте оставаться на связи с Университетом SEDICOMM.

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

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

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

Резервное копирование Ununtu

Рассмотрим самые распространенные способы копирования среди администраторов и обычных пользователей.

Способ 1. Список пакетов

Самый простой способ резервного копирования Ubuntu, кстати, именно эту возможность использует MintBackup в LinuxMint, это получение списка всех установленных пакетов. Да, тут вы не сохраните всю конфигурацию, зато сможете очень быстро восстановить все установленные программы.

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

dpkg --get-selections | grep -v deinstall > backup.txt

Далее, скопируйте полученный файл в надежное место. Когда система сломается, переустановите ее с установочного носителя, а затем просто выполните команды:

sudo dpkg --set-selections < backup.txt

sudo apt -y update
sudo apt-get dselect-upgrade

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

Способ 2. Создание архива

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

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

В этой команде все достаточно просто несмотря на ее запутанность. Опция c означает, что нужно создать архив (Create), z — включает сжатие Gzip. Затем с помощью опции -f мы указываем файл, в который нужно сохранить результат. Затем с помощью серии опций —exclude мы исключаем из архива сам файл архива, домашний каталог и директории с виртуальными файловыми системами. В самом конце указываем папку, с которой стоит начать сбор данных — /. Вот и все. Процесс займет очень много времени, но когда он завершится, вы получите полную резервную копию системы в корневом каталоге.

Если система повреждена, вам нужно загрузиться с LiveCD/USB, и примонтировать корневой каталог в /mnt/. Затем подключите носитель с резервной копией и выполните команду для распаковки:

sudo tar xf /run/media/имя_носителя/backup.tar.gz -C /mnt

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

Способ 3. Резервное копирование в rsync

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

rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /папка/назначения

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

После завершения копирования вам останется отредактировать /etc/fstab и заменить в нем адрес корневого раздела на новый. А также создать новый конфигурационный файл для загрузчика, автоматически или вручную.

Способ 4. Создание образа раздела

Команда dd linux позволяет создать полную копию раздела или даже всего диска. Это самый надежный, но в то же время потребляющий большое количество памяти способ выполнить резервное копирование системы Ubuntu. Утилита просто переносит весь диск по одному байту в образ. Команда выглядит вот так:

sudo dd if=/dev/sda4 of=~/backup.img

Здесь /dev/sda4 — это ваш корневой раздел. После завершения выполнения команды вы получите готовый образ, затем, чтобы восстановить систему из этой копии достаточно поменять опции местами и указать путь к файлу копии:

sudo dd if=~/backup.img of=/dev/sda4

Правда, процесс может занять достаточно много времени, в зависимости от скорости работы вашего диска.

Способ 5. Создание Squashfs образа

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

sudo mksquashfs / /root-backup.sqsh -e root-backup.sqsh home media dev run mnt proc sys tmp

Теперь, чтобы примонтировать созданный образ будет достаточно набрать такую команду:

sudo mount /root-backup.sqsh /mnt/ -t squashfs -o loop

А уже отсюда вы можете извлечь любой файл или перенести все это в реальную файловую систему с помощью cp -p.

Выводы

Резервное копирование Ubuntu 16.04 очень важно для поддержания вашей операционной системы в нормальном состоянии. В случае любой неожиданной ситуации вы сможете все восстановить. Если вас интересуют графические программы для бэкапа, вы можете попробовать remastersys или timeshift. Надеюсь, эта информация была полезной для вас.

Я работаю в организации с маленьким штатом, деятельность тесно связана с IT и у нас возникают задачи по системному администрированию. Мне это интересно и частенько я беру на себя решение некоторых.
На прошлой неделе мы настраивали FreePBX под debian 7.8, нанимали фрилансера. В процессе настройки оказалось, что сервер (да, я так называю обычный PC) не хочет грузится с HDD при подключенных USB 3G модемах, которые мы используем для звонков на мобильные, колупание BIOSа не помогло. Непорядок. Решил, что нужно перенести его на другую железяку. Так появилось сразу две связанные задачи:

  • сделать бэкап сервера;
  • восстановить бэкап на другом железе.

Гугление не дало внятных ответов, как это сделать, пришлось собирать информацию кусками и пробовать. Всякие acronis’ы отбросил сразу, ибо не интересно.

Опыт общения с linux-системами у меня небольшой: настройка VPN сервера на open-vpn, ftp-сервера и еще пара мелочей. Сам себя я характеризую как человека умеющего читать маны и править конфиги 🙂
Ниже я описываю свой частный случай и почему я поступил именно так. Надеюсь, новичкам будет полезно, а бородатые админы улыбнутся вспомнив молодость.

Начинаем копать теорию:

По созданию бэкапов уйма статей, я для себя отметил два способа: tar — упаковывает и сжимает все файлы, при этом не сохраняется MBR, мой бэкап будет весить около 1.5 Gb; dd — делает полную копию раздела, включая MBR и всю область, где нет файлов, архив будет равен размеру раздела, в моем случае ~490 Gb.
Второй способ требует наличия внешнего жесткого диска объемом не меньше раздела, который архивируем. Да и что с ним потом делать, непонятно, хранить на полочке? Остановился на tar, чуть сложнее в реализации, нужно будет создать MBR, но время создания/восстановления архива существенно меньше, хранить бэкап проще, полтора гига можно закинуть в облако и скачать, когда будет нужно. Записывать его можно на ту же live-флэшку, с которой буду грузиться.

Итак, план действия:

  1. создание бэкапа;
  2. форматирование, разметка диска, создание файловой системы;
  3. восстановление бэкапа;
  4. создание MBR;
  5. тестирование и устранение неполадок.

1. Создание бэкапа

Грузимся с live-флэшки, у меня это debian-live-7.8.0-amd64-standard.
Переключаемся на root:

sudo su

Монтируем раздел, который будем архивировать, у меня это sda1, чтобы случайно не наломать дров, монтируем только для чтения. Посмотреть все свои разделы можно при помощи команд ls /dev | grep sd или df -l

mount -o ro /dev/sda1 /mnt 

Наша флэшка уже примонтирована, но в режиме только чтения, нужно перемонтировать для чтения-записи, чтобы писать туда бэкап.

mount -o remount,rw /dev/sdb1 /lib/live/mount/medium

Все готово для создания архива

tar -cvzpf /lib/live/mount/medium/backupYYYYMMDD.tgz --exclude=/mnt/var/spool/asterisk/monitor --exclude=/mnt/var/spool/asterisk/backup /mnt/

Здесь у нас параметры: c — создать архив, v — выводить информацию о процессе, z — использовать сжатие gzip, p — сохраняем данные о владельцах и правах доступа, f — пишем архив в файл, путь к файлу, —exclude — исключаем из архива каталог (я исключил каталоги с записями разговоров и каталог с бэкапами FreePBX), /mnt/ — каталог, который архивируем.
Ждем… у меня вся подготовка и создание архива заняли 10 минут. Будь флэшка быстрее, уложился бы в 7-8 минут.
Отмонтируем диск:

umount /mnt

… и перезагружаемся.

reboot

Складываем архив в надежное место за пределами офиса.

Восстановление бэкапа на другом железе

2. Размечаем диск, создаем файловую систему

Грузимся с live-флэшки, у меня все та же debian-live-7.8.0.
Переключаемся на root:

sudo su

Размечаем диск. Мне понравилась утилита с псевдографическим интерфейсом cfdisk. Там все просто и понятно.

cfdisk

Удаляем все имеющиеся разделы. Я создал два новых раздела, один на 490 Gb под / (sda1) и 10 Gb под swap (sda2) в конце диска, т.к. он практически не будет задействован. Проверим типы разделов. Который под систему должен иметь тип 83 Linux, второй — 82 Linux swap / Solaris. Помечаем системный раздел загрузочным (bootable), сохраняем изменения и выходим.
Cоздаем файловую систему на первом разделе.

mkfs.ext4 /dev/sda1

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

Монтируем отформатированный раздел

mount /dev/sda1 /mnt

Распаковываем архив прямо с флэшки

tar --same-owner -xvpf /lib/live/mount/medium/backupYYYYMMDD.tgz -C /mnt/

Параметр —same-owner — сохраняет владельцев у распаковываемых файлов, x — извлекаем из архива, v — выводить информацию о процессе, p — сохраняем права доступа, f — указываем файл, который распаковываем, C — распаковываем в категорию.

4. Создаем MBR на новом диске.

Чтобы корректно создать загрузочную запись, монтируем рабочие каталоги к нашему будущему root-каталогу, у меня это /mnt. Каталоги /dev и /proc сейчас используются live-системой, используем параметр bind, чтобы они были доступны сразу в двух местах:

mount --bind /dev /mnt/devmount --bind /proc /mnt/proc

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

chroot /mnt

Делаем swap-раздел для новой системы:

mkswap /dev/sda2 

Подключаем его же:

swapon /dev/sda2

Чтобы grub работал, нужно указать ему правильные UUID разделов в fstab, сейчас там прописаны разделы предыдущей системы:

nano /etc/fstab

Открываем второй терминал (Alt+F2) под root:

sudo su

Вызываем:

blkid

И видим текущие UUID разделов.
Вручную переписываем их в fstab переключаясь между Alt+F1 и Alt+F2. Да, муторно, но попытки копировать занимали у меня больше времени, чем переписывание. Сохраняем fstab.
Устанавливаем grub2. У меня один физический диск, поэтому ставим его на sda:

grub-install /dev/sda

На чистый диск должно встать без ошибок. Обновляем информацию из fstab:

update-grub

Возвращаемся в Live-систему:

exit

Размонтируем все каталоги:

umount /mnt/devumount /mnt/procumount /mnt

Если вылазят процессы, которые используют эти каталоги, убиваем их используя fuser.
Все, поехали. Грузимся с жесткого диска:

reboot

Здесь статья должна была закончиться, но у меня возникли проблемы с подключением к интернету. Сервер видит сеть, видит компьютеры в ней, но в интернет не ходит… а это как бы важно для телефонии.

5. Тестирование и устранение неполадок.

ifconfig -a

Показывет интерфейсы eth1 и lo, гугление сказало, что gateway можно прописать только подключению eth0, остальные рассчитаны только на работу внутри сети.
Похоже, отсутствие eth0 вызвано способом переноса системы. Находим файл, который отвечает за нумерацию интерфейсов, смотрим туда:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *