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

Короткий обзор резервного копирования Ubuntu постараюсь пойти от простого к сложному, начиная от простого резервного копирования все системы 1 командой и заканчивая резервным копированием Ubuntu в автоматическом режиме без нашего участия. А так же дополню это все облегченным способом при резервном копировании Ubuntu через панель администрирования сервера WebminДля удобства работы с Linux Ubuntu server устанавливаем mc — аналог Norton Commander:

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install mc

Так же есть альтернативный способ в Windows, за счет применения программы WinSCP, так же похож на Norton Commander разница лишь в том, что работает она исключительно по сети, а так же производит подключение через SSH протокол. Обратите внимание, что при подключении вы должны быть root пользователем, а на сервере заранее должен быть активирован и установлен супер пользователь (прописан пароль)

Простое резервное копирование Ubuntu

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

  • sudo tar cvpzf /backup.tgz —exclude=/proc —exclude=/lost+found —exclude=/backup.tgz —exclude=/mnt —exclude=/sys /

А теперь распишу что означает это команда. С правами суперпользователя (sudo) создаём тарбол (tar с ключём c) и архивируем его архиватором gz (ключ z). При этом с помощью ключа —exclude исключаем из архива системные директории и файлы устройств и, конечно же, сам архив (чтобы он рекурсивно не начал паковаться сам в себя). В итоге, получаем в корне наш полный архив системы в файле backup.tgz

Как его потом развернуть? Ну, во-первых, нужна будет всё-таки работающая система. Например, можно провести «читсую» установку (или же загрузиться с LiveCD). Будем считать, что у нас есть работающая система, в которой мы хотим развернуть наш архив. Хватит тоже одной команды:

  • tar xvpfz /backup.tgz -C /

Благодаря ключику p они сохраняются в исходном состоянии и правами.

Поскольку заранее не известно какого типа у Вас данные и, соответсвенно, насколько плотно они сожмутся. Как минимум вы должны иметь на диске 50% свободного места, для ее проверки выполните седующую команду:

  • df

Как образец:

В реальности же, если у вас не лежит множество других архивов на диске и всяких фильмов с прочими медиа, то должно хватить и 30%.

Автоматическое резервное копирование Ubuntu

на этот же диск

Создаем файл backup.save в корне, в котором будет скрип для резервного копирования:

  • sudo nano /backup.save

{xtypo_info}Жмем Ctrl+O для сохранения и Ctrl+X для выхода{/xtypo_info}

Создаем папку /mnt/backup в которую будем делать резервную копию системы:

  • sudo mkdir /mnt/backup

Делаем наш файл backup.save исполняемым:

  • sudo chmod a+x /backup.save

Заходим в mc (для удобства):

  • sudo mc

Далее идем в корень и открываем наш файл нажатием F4 и вставляем в наш backup.save файл следующий код (нажав Shift+Insert):

{xtypo_info}Этот код создает архив дата_и_время_создания.tgz в папке /mnt/backup/ исключая папки: proc, lost+found, mnt, sys{/xtypo_info}

Жмем F2 для сохранения и F10 для выхода. Проверяем работоспособность просто запустив наш файл в mc нажатием Enter.

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

{xtypo_info}Для перехода в mc в терминал жмем Ctrl+O и обратно, а так же не забываем про Меню в mc — F9{/xtypo_info}

Автоматическое резервное копирование Ubuntu

на другой диск или по сети

Примечание

  • Сеть должна быть настроена
  • Винчестер, на который будем делать резервную копию, должен быть подготовлен

Подготавливаем жесткий диск

Смотрим наш жесткий диск и монтируем в /mnt/hdd:

  • sudo fdisk -l

Монтируем:

  • sudo mount /dev/sdb1 /mnt/hdd

Чтобы после перезагрузки сервера hdd автоматом монтировался, допишем строку в файл /etc/fstab:

  • sudo nano /etc/fstab

{xtypo_info}Ctrl+O для сохранения и Crtl+X для выхода{/xtypo_info}

Подготавливаем сетевую папку

  • sudo mkdir /mnt/win
  • sudo mount //192.168.0.1/mydoc /mnt/win -o guest,rw,iocharset=utf8

Если для доступа к сетевой папке требуется логин и пароль:

  • sudo mount //192.168.0.1/mydoc /mnt/win -o user=ваш_логин,password=ваш_пароль,iocharset=utf8

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

  • sudo mount «//192.168.0.1/my doc» /mnt/win -o user=ваш_логин,password=ваш_пароль,iocharset=utf8

Для того что бы размонтировать папку выполните команду:

  • sudo umount /mnt/win

{xtypo_info}Я не стал прописывать в /etc/fstab автомонтирование сетевой папки. Я буду монтировать ее только тогда, когда будет запускаться скрипт на резервное копирование.{/xtypo_info}

Создаем файл backup.save в корне системы и делаем его исполняемым:

  • #!/bin/bash
  • cd /mnt/hdd
  • sudo tar cvpzf /mnt/hdd/backup_`date +%Y.%m.%d_%H_%M`.tgz —exclude=/proc — exclude=/lost+found —exclude=/mnt —exclude=/sys / >> /dev/null 2>&1
  • sudo mount //192.168.0.1/mydoc /mnt/win -o user=ваш_логин,password=ваш_пароль,iocharset=utf8
  • cd /mnt/win
  • sudo tar cvpzf /mnt/win/backup_`date +%Y.%m.%d_%H_%M`.tgz —exclude=/proc — — exclude=/lost+found —exclude=/mnt —exclude=/sys / >> /dev/null 2>&1

Жмем Ctrl+O для сохранения и Ctrl+X для выхода. Сделаем его исполняемым:

  • sudo chmod a+x /backup.save

Для проверки запустим его и проверим его работу. Для создания запуска по расписанию выполним следующее:

  • sudo nano /home/123

{xtypo_info}название файла и его местонахождения в данном случае роли не играет{/xtypo_info}

В файл пропишем следующее:

Далее выполним:

  • sudo crontab /home/123

После этого в каталоге /var/spool/cron/crontabs/ будет создан файл «root» примерно с таким содержимым:

Для примера пару шаблонов:

Восстановление системы из резервной копии

  • Сохраняем каталог boot нашей чистой системы в папку /mnt/
  • Туда же сохраняем файл fstab из /etc/
  • распаковываем архив сверх чистой системы
  • sudo tar xvzpf /mnt/backup/1.tgz -C /
  • Далее копируем с заменой нашу сохраненную папку boot из /mnt/boot в корень системы с заменой
  • И fstab из /mnt/ тоже копируем в /etc/ с заменой
  • Перезагружаем систему
  • sudo reboot

Аналогичное резервное копирование Ubuntu в Webmin

Я считаю это самый простой способ выполнения как резервного копирования, так и восстановление. Для начала у Вас уже должна быть установлена панель управления сервером Webmin (Установка Webmin на Ubuntu server) Заходим в пункт резервного копирования файловой системы Система — Резервное копирование.

Модуль резервного копирования Ubuntu в Webmin

На данном изображении я показал уже созданную команду для резервного копирования всей системы. Для начала создания такой команды мы укажим наш каталог, так как мы копируем всю систему, то указываем корень » / «, и нажимаю кнопку «Добавить для резервного копирования каталог», открывшееся окно заполняем следующим образом. Т.к. я использовал удаленный FTP сервер, то добавил сервер имя пользователя и пароль для доступа а так же указал каталог и имя файла в который будет происходить резервное копирование Ubuntu.

Настройка резервного копирования Ubuntu в Webmin

Кнопка «Сохранить и приступить к резервному копированию» приведет к созданию правила и немедленного его исполнения. Результат статуса резервного копирования будет выглядеть следующим образом:

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

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

Оригинал: здесь https://www.mini-server.ru/faq/os/86-ubuntu-backup?showall=1

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

Войти с помощью: 

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