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

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (4)

просмотр истории страницы
{toc}
{include:CarbonBaseSystem:Настройки резервного копирования}

h2. Описание системы резервного копирования

* Резервное копирование платформы происходит раз в сутки.
* Лог выполнения операции хранится в файле /app/base/var/log/cron_backup.sh.log.
* Процесс резервного копирования состоит из последовательного вызова команды */app/* {color:red}*<имя app>*{color}*/service backup* для каждого контейнера, которая создает резервную копию, и */app/* {color:red}*<имя app>*{color}*/service backup_upload*, которая выгружает её на ftp.
Следовательно, если проблема с резервным копирование была во время создания, отлаживать можно именно /app/<имя app>/service backup. В случае, если была проблема с выгрузкой на ftp, можно отлаживать /app/<имя app>/service backup_upload. Не выполняя полную процедуру резервного копирования.
* Единовременно на сервере хранятся только по одному экземпляру ежемесячной, еженедельной и ежедневной резервных копий.
* В процедуре backup_upload происходит не только выгрузка, но и чтение файлов с ftp, обновление файлов и создание директорий. Все эти действия должны быть разрешены на ftp-сервере.
* В архив резервной копии *base* (папка */app/base/mnt/backup*) копируется корневая папка /etc под названием *root_etc*. Эти файлы можно вручную восстановить на новой или восстановленной системе.

h2. Создание резервных копий вручную и их выгрузка на ftp
{tip}*Время выполнения инструкции*: 10-40 минут, если дольше - обратитесь в техподдержку.{tip}
{code}/etc/init.d/apps backup
/etc/init.d/apps backup_upload{code}


h2. Настройка автоматического резервного копирования и выгрузки по FTP

Настройка бэкпов производится меню Настройки платформы \-> Настройки резервного копирования...

!0.png|border=1!

!backupnew.png|border=1!

Заполняете все нужные поля и сохраняете изменения.

*IP-адрес FTP-сервера* \- адрес удаленнго FTP-сервера. На него будут копироваться копии БД.
{info}
Если порт на FTP сервере используется не стандартный (не 21й), то указывать его нужно через двоеточие. Например порт 1555
{code}
1.1.1.1:1555
{code}
{info}
{info}
Также можно указать доменное имя вместо IP адреса. Пример:
{code}
ftp.mydomain.com
{code}
{info}
*Бэкапить на FTP* \- выключает выгрузку на FTP.
*Имя пользователя* \- логин для авторизации на FTP-сервере.
*Пароль* \- пароль для авторизации на FTP-сервере.
*Каталог на FTP-сервере* \- непосредственно в этот каталог будут записываться копии БД.
*Ежедневная запись* \- включает резервное копирование. {color:#ff0000}Настоятельно рекомендуется активировать Ежедневную запись, без этой опции резервное копирование не будет выполнятся в принципе.{color}

h3. Структура каталогов на ftp-сервере

# В каталоге, который вы указали для выгрузки на ftp будет содержать подкаталоги для каждого контейнера.
# В этом каталоге будут лежать архивы с резервной копией контейнера и файл с md5 суммой этого файла. Например, бекап asr_billing:
\\
\\
#- backup_daily_2016-05-26_02-51_asr_billing.tar.gz
backup_daily_2016-05-26_02-51_asr_billing.tar.gz.md5
#- backup_weekly_2016-05-20_02-51_asr_billing.tar.gz
backup_weekly_2016-05-20_02-51_asr_billing.tar.gz.md5
\\
\\
# В asr_billing также есть директория static, там хранятся неизменяемые бекапы БД, но в которые происходит дозапись. Например, аудит и история фин.проводок по абонентам. В основной архив класть их слишком накладно по памяти, да и изменяются они редко. Так что эти файлы выгружаются отдельно от архива и обновляются, после того в биллинге в эти базы произошла запись (во время бекапа).

h2. Управление резервными копиями

Все команды для управления резервными копиями доступны с помощью опции \--help:
{code}
/app/asr_billing/service --help
{code}

Доступные команды:

h6. Создать резервную копию
{code}
/app/asr_billing/service backup
{code}

h6. Показать список резервных копий на FTP-сервере
{code}
/app/asr_billing/service backup_ftp_list
{code}

h6. Показать список резервных копий на сервере c биллингом
{code}
/app/asr_billing/service backup_local_list
{code}

h6. Скачать резервную копию с FTP-сервера. Принимает имя резервной копии
{code}
/app/asr_billing/service backup_download <имя_бекапа>
{code}

h6. Восстановить все файлы из резервной копии. Принимает имя резервной копии
{code}
/app/asr_billing/service backup_restore <имя_бекапа>
{code}

Например
{code}
/app/asr_billing/service backup_restore backup_2017-09-01_2017-09-01_15-12_asr_billing.tar.gz
{code}

h6. Загрузить последнюю резеврную копию на FTP-сервер
{code}
/app/asr_billing/service backup_upload
{code}

Создать резервную копию можно с помощью команды *backup* и выгрузить её на FTP-сервер командой *backup_upload*.

Восстановление из резервной копии (backup_restore) можно производить только с файлами, которые находятся на сервере биллинга.

Локальные копии, в том числе скачанные с ftp сервера, находятся в каталоге:

{code}
/mnt/backup/app/asr_billing/backup/
{code}

Чтобы скачать бекап с FTP-сервера, требуется просмотреть имеющееся файлы командой *backup_list*, а потом загрузить нужный, с помощью *backup_download*.

h2. Решение проблем резервного копирования

Описано в статье "[CarbonBilling:Система мониторинга]"