url image

Автоматическое «Резервное копирование»: как восстановить бэкап на сервере без ISPmanager

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

Подробнее об автоматическом «Резервном копировании»

Виды и структура архивов

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

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

 
 
Состав полной копии на внешнем хранилище

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

Состав дифференциальной копии на внешнем хранилище

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

Теперь нужно разобраться со слайсами. Слайсы — это части одного архива. По умолчанию размер слайса всего 100 Мб. При создании бэкапа они экономят место на локальном диске сервера. Когда создание очередного слайса завершается, он загружается на удаленное хранилище и одновременно стирается с локального диска сервера. Благодаря этому решению, маловероятно, что на сервере закончится место при создании архива.

Восстановление бэкапа

Все данные сохраняются в облачное S3 хранилище. Для распаковки архива, разбитого на слайсы, нужно собрать все части архива вместе. Это можно сделать разными способами, но вернее всего использовать нативный архиватор isptar, который разработали наши хорошие друзья из ISPsystem. Архиватор почти полностью автоматизирует процесс распаковки архива, нужно только доставить архивы на сервер.

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

grep -E 'remote' /opt/autobackup/config. yml

Вы получите данные в следующем виде:

  • remote addr — URL хранилища,
  • remote user — идентификатор ключа,
  • remote_password — секретный ключ.

Подключаемся к серверу по SSH и скачиваем полный и дифференциальные архивы на сервер.

Загрузка из S3 хранилища

Для примера восстановим архив от 2020-03-27:

  1. Устанавливаем и настраиваем клиент для работы с S3:

    Ubuntu\Debian
    apt install -y s3cmd
    CentOS
    yum install -y s3cmd
  2. Создаем конфигурацию:

    s3cmd --access_key=ключ --secret_key=секрет --region=RegionOne --host=https://s3backup.hoztnode.net --host-bucket="https://s3backup.hoztnode.net/%(bucket)" --dump-config >~/.s3cfg
  3. Скачиваем полный архив (последнее воскресенье до нужной даты):

    s3cmd sync s3://bucket/user/2020-03-22 ./
  4. Скачиваем дифференциальный архив (за нужную дату):

    s3cmd sync s3://bucket/user/2020-03-27 ./
  5. Переходим в директорию с архивом:

    cd 2020-03-27

Распаковка архива

Создаём директорию, в которую будет выполнятся распаковка:

mkdir /root/restore
  • Если нужно распаковать весь архив:

    /opt/autobackup/isptar --extract I2020-03-27.user.tgz --base ../2020-03-22/F2020-03-22.user.tgz --root /root/restore
  • Если нужно распаковать только отдельную директорию data/etc, содержащуюся в архиве:

    /opt/autobackup/isptar --extract I2020-03-27.user.tgz --base ../2020-03-22/F2020-03-22.user.tgz --root /root/restore data/etc

Перед распаковкой убедитесь, что на вашем диске достаточно памяти.

Также вы можете скачать бэкап с помощью любого S3 совместимого клиента, например, CyberDuck

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

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!