как сделать резервную копию системы linux

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

Я работаю в организации с маленьким штатом, деятельность тесно связана с IT и у нас возникают задачи по системному администрированию. Мне это интересно и частенько я беру на себя решение некоторых.

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

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

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

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

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

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

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

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

Переключаемся на root:

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

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

Ждем… у меня вся подготовка и создание архива заняли 10 минут. Будь флэшка быстрее, уложился бы в 7-8 минут.

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

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

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

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

Переключаемся на root:

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

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

Cоздаем файловую систему на первом разделе.

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

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

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

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

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

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

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

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

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

И видим текущие UUID разделов.

Вручную переписываем их в fstab переключаясь между Alt+F1 и Alt+F2. Да, муторно, но попытки копировать занимали у меня больше времени, чем переписывание. Сохраняем fstab.

Устанавливаем grub2. У меня один физический диск, поэтому ставим его на sda:

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

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

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

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

Все, поехали. Грузимся с жесткого диска:

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

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

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

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

Действительно, там два активных интерфейса, определенных MAC’ами. Комментируем первый, второму прописываем eth0.

Перезапуск /etс/init.d/networking не помог, поэтому перезагружаемся:

Подключаем донглы, проверяем, все работает.
Спасибо за внимание.

Источник

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

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

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

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

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

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

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

как сделать резервную копию системы linux

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

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

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

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

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

как сделать резервную копию системы linux

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

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

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

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

как сделать резервную копию системы linux

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

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

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

sudo dd if=/dev/sda4 of=

как сделать резервную копию системы linux

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

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

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

как сделать резервную копию системы linux

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

Выводы

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

как сделать резервную копию системы linux

как сделать резервную копию системы linux

как сделать резервную копию системы linux

как сделать резервную копию системы linux

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

28 комментариев

теперь ждёмс статью со способами автоматического бэкапа без скриптописания и статью о том как работать со снапшотами btrfs

Спасибо, за статью.
Как раз исследовал этот вопрос и тут как раз Вы.

спасибо. Получился в дом. папке «backup.txt», который пуст. Что-то не так с моей системой, ничего проинсталлировать не могу, apt-get update тоже не работает. Если не найду причину, придеться переустанавливать систему. Эх..

Похоже, xneur првратил два минуса подряд в тире. Минус-пробел-минус, пробел стереть. Или xneur отключить/настроить.

Спасибо, точно так оно и было (с «Минус-пробел-минус»). Backup был установлен. Как, имея его теперь, лучше переинсталлировать глючную систему?

>(Zorin на остнове Ubuntu 14.04) Есть ли другое решение?
Понаставляют всяких болгеносов, а потом мучаются..

А есть ли утилиты, которые позволяют делать backup системы, но с расчетом, чтобы каждый раз не был Full, а также поддерживал бы дифференциальный?Понятно, что всякие дополнительные мощные средства как Symantec, Acronis, Veeam и др. умеют это делать, но именно чтобы были утилиты небольшие по размеру и желательно из репов и бесплатные?

можно попробовать Aptik

Возможности
Поддержание/восстановление пакетов приложений и PPA
Поддержание/восстановление установленных пакетов
Поддержание/восстановление иконок из директории /usr/share/icons и тем из директории /usr/share/themes
Поддержание/восстановление настроек приложений. Оно сохраняет zip-архивы разделов конфигураций приложений из домашней директории в местоположение резервных копий.
Поддержание/восстановление пользователей и групп. Создает резервные копии пользователей и групп и восстанавливает их на новой системе
Поддержание/восстановление записей. Создает резервные копии записей в директориях /etc/fstab и /etc/crypttab и восстанавливает их на новой системе
Поддержание/восстановление данных в директории Home. Создает резервные копию данных пользовательской директории Home и восстанавливает ее на новой системе
Запланированные задачи. Создает резервные копии записей файлов заданий crontab для всех пользователей и восстанавливает их на новой системе
Зашифрованные резервные копии. Резервные копии, содержащие личную информацию, шифруются с использованием AES-128.
Отдельные или периодические операции. Можно создавать копии как одного, так и нескольких объектов
Поддержка всех видов Ubuntu и производных (Linux Mint, Elementary OS и т.д.).
Доступна для Ubuntu 17.04 Zesty/16.10 Yakkety/16.04 Xenial/14.04 Trusty/12.04 Precise/Linux Mint 18/17/13/и других производных Ubuntu.
Для установки следующие команды:
sudo add-apt-repository ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install aptik

Я использую «Luckybackup», графическая среда для rsync!
установка: sudo add-apt-repository ppa:luckybackup-maintainers/ppa
sudo apt-get update
sudo apt-get install luckybackup

НУ что сказать, работает! Правда были проблемы с cron, в приложении есть возможность создания но не запуска)
Решил установкой «Gnome Shedule»
sudo apt-get install gnome-schedule
Sheduler подтянул задания на выполнение и всё!

А есть вариант этой проги, но не GUI? У нас X-сервер нигде не установлен.

А почему ни слова не сказано про fsarchiver? Утилита намного лучше, удобней и понятней в эксплуатации, чем клонезилла, я только fsarchiver-ом и пользуюсь, нареканий лет за 6 работы на моей машине никаких!

Имеет ли смысл делать резервную копию в Bacula Backup System в Webmin? Если да, то как? Нигде не нашел внятную инструкцию.

У Bacula есть свой же Web- интерфейс, через него обычно все и работает.

Есть же штатная Backups еще.

И Systemback. правда восстанавливать систему пока еще ни разу не пришлось, в отличие от Windows)

Здравствуйте! Спасибо за статью, для чайника познавательно! Скажите, а есть программы для создания бекапа по расписанию? Типа acronis

«РЕЗЕРВНОЕ КОПИРОВАНИЕ UNUNTU»

Мелочь, но исправьте.

автор, а можно поподробнее про СОЗДАНИЕ SQUASHFS ОБРАЗА пожалуйста, что бы восстановить какая полная команда будет? и откуда, не понятно ничего. опиши, если не трудно

Способ 2. Создание архива. Корневая папка будет LiveCD, а не нашей системы, которой надо копию сделать. Надо сначала смонтировать корневой раздел нашей системы в какую либо папку внутри mnt (например, mount/root), а уже потом этот раздел копировать в файл на флешке или внешнем жестком диске. Но тогда встает другая проблема. В архивный файл попадет структура mnt/root и при разархивировании будет не корневой раздел а mount/root/корневой_раздел

Результат:
tar: Удаляется начальный `/’ из имен объектов
tar: Удаляются начальные `/’ из целей жестких ссылок
tar: /var/snap/canonical-livepatch/98/livepatchd.sock: сокет проигнорирован
tar: /var/snap/canonical-livepatch/98/livepatchd-priv.sock: сокет проигнорирован
tar: /run/wpa_supplicant/wlo1: сокет проигнорирован
tar: /run/irqbalance/irqbalance484.sock: сокет проигнорирован
tar: /run/uuidd/request: сокет проигнорирован
tar: /run/snapd-snap.socket: сокет проигнорирован
tar: /run/snapd.socket: сокет проигнорирован
tar: /run/dbus/system_bus_socket: сокет проигнорирован
tar: /run/cups/cups.sock: сокет проигнорирован
tar: /run/avahi-daemon/socket: сокет проигнорирован
tar: /run/acpid.socket: сокет проигнорирован
tar: /run/user/1000/doc: Функция stat завершилась с ошибкой: Отказано в доступе
tar: /run/user/1000/gvfs: Функция stat завершилась с ошибкой: Отказано в доступе
tar: /run/user/1000/keyring/ssh: сокет проигнорирован
tar: /run/user/1000/keyring/pkcs11: сокет проигнорирован
tar: /run/user/1000/keyring/control: сокет проигнорирован
tar: /run/user/1000/snapd-session-agent.socket: сокет проигнорирован
tar: /run/user/1000/pulse/native: сокет проигнорирован
tar: /run/user/1000/pk-debconf-socket: сокет проигнорирован
tar: /run/user/1000/gnupg/S.gpg-agent: сокет проигнорирован
tar: /run/user/1000/gnupg/S.gpg-agent.ssh: сокет проигнорирован
tar: /run/user/1000/gnupg/S.gpg-agent.extra: сокет проигнорирован
tar: /run/user/1000/gnupg/S.gpg-agent.browser: сокет проигнорирован
tar: /run/user/1000/gnupg/S.dirmngr: сокет проигнорирован
tar: /run/user/1000/bus: сокет проигнорирован
tar: /run/user/1000/systemd/private: сокет проигнорирован
tar: /run/user/1000/systemd/notify: сокет проигнорирован
tar: /run/user/1000/inaccessible/sock: сокет проигнорирован
tar: /run/systemd/fsck.progress: сокет проигнорирован
tar: /run/systemd/journal/io.systemd.journal: сокет проигнорирован
tar: /run/systemd/journal/socket: сокет проигнорирован
tar: /run/systemd/journal/stdout: сокет проигнорирован
tar: /run/systemd/journal/dev-log: сокет проигнорирован
tar: /run/systemd/journal/syslog: сокет проигнорирован
tar: /run/systemd/userdb/io.systemd.DynamicUser: сокет проигнорирован
tar: /run/systemd/private: сокет проигнорирован
tar: /run/systemd/notify: сокет проигнорирован
tar: /run/systemd/inaccessible/sock: сокет проигнорирован
tar: /run/udev/control: сокет проигнорирован
tar: /: файл изменился во время чтения
tar: Завершение работы с состоянием неисправности из-за возникших ошибок

Источник

Программы резервного копирования Linux

Системные администраторы шутят, что люди делятся на два типа: те кто не делает резервные копии и те, кто уже делает резервные копии. В работе любого пользователя или системного администратора рано или поздно возникнет момент, когда что-то сломается и важные данные будут утеряны. Если до этого человек резервных копий не делал, то теперь научится и начнёт делать.

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

Программы для резервного копирования в Linux

1. Rsync

как сделать резервную копию системы linux

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

2. AutoMysqlBackup

как сделать резервную копию системы linux

Если вам надо делать резервную копию базы данных MySQL, то для этого нельзя просто скопировать все файлы базы данных. Лучше скопировать нужные базы с помощью специального инструмента. К таким инструментам относится скрипт AutoMySQLBackup. С помощью него вы можете настроить регулярное резервное копирование вашей базы данных на другой сервер или в облако. Поддерживается ротация и удаление устаревших резервных копий.

3. Duplicity

как сделать резервную копию системы linux

4. Rdiff-backup

как сделать резервную копию системы linux

Ещё одна небольшая утилита для резервного копирования, похожая на rsync. Она написана на Python и позволяет делать резервные копии только изменённых файлов. Кроме того, можно хранить резервную копию на другом сервере. На удалённый сервер можно записывать данные по протоколу rsync или ssh.

5. Bacula

как сделать резервную копию системы linux

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

6. Backupninja

как сделать резервную копию системы linux

7. Kbackup

как сделать резервную копию системы linux

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

8. BackupPC

как сделать резервную копию системы linux

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

9. Amanda

как сделать резервную копию системы linux

Amanda расшифровывается как Advanced Maryland Automatic Network Disk Archiver. Это тоже кроссплатфноменная программа для резервного копирования, созданная, в первую очередь, для предприятий. Она может располагаться на нескольких компьютерах, благодаря клиент-серверной архитектуре и сохранять резервные копии на другой сервер. Для создания резервных копий используются системные утилиты, в Linux это tar.

10. Back In Time

как сделать резервную копию системы linux

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

11. Box Backup Tool

как сделать резервную копию системы linux

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

12. Luckybackup

как сделать резервную копию системы linux

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

13. Timeshift

как сделать резервную копию системы linux

Раньше мы рассматривали программы, предназначенные для резервного копирования отдельных файлов и каталогов, однако существуют программы предназначенные для полного копирования всех файлов операционной системы. К ним относится Timeshift. Программа имеет как графический так и консольный интерфейс и позволяет создавать резервные копии системы с помощью rsync или btrfs. Подробнее об её возможностях читайте тут.

14. Clonezilla

как сделать резервную копию системы linux

В отличие от Timeshift программа Clonezilla поставляется на отдельном образе и запускается из BIOS. Она позволяет создать резервную копию как Linux так и Windows потому что копирует весь диск побайтово и потом позволяет всё это восстановить. Подробнее о том как пользоваться Clonezilla читайте в отдельной статье.

15. Systemback

как сделать резервную копию системы linux

Утилита Systemback чем-то похожа на Timeshift. Она тоже позволяет создавать точки восстановления операционной системы и потом с помощью них восстанавливать работу вашего дистрибутива. Кроме того, с помощью утилиты можно скопировать систему на другой диск или создать LiveCD образ для будущего восстановления.

Выводы

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

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

Источник

Добавить комментарий

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