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

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

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

просмотр истории страницы
{toc}

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-сервере.

h2. Создание резервных копий вручную и их выгрузка на ftp
{warning}Если при создании резевной копии биллинга Вы получили ошибку
{code}Ошибка бекапа БД /var/db/billing_system.gdb{code}
Скорей всего, у Вас остановлен биллинг. Резервное копирование необходимо выполнять на запущенном биллинге!
Выполните команду:
{code}/etc/init.d/apps restart{code}{warning}
Следующие команды универсальны для любого контейнера на платформе *Carbon PL5*. Список контейнеров, поставляемых в продуктах {color:#00aaff}Carbon OSS Billing 5{color}, {color:orange}Carbon XGE Router{color} и {color:#0000ff}Carbon OSS Billing 5 Softrouter{color}

# {color:#00aaff}{*}Carbon OSS Billing 5{*}{color}: [auth|CarbonBilling:Управление пользователями, интерфейс администратора. Авторизация.], [base|CarbonBilling:Управление модулями], [asr_billing|Биллинг. Основные настройки биллинга], [asr_cabinet|CarbonBilling:Локальный сайт. Личный кабинет.], [collector|CarbonBilling:Настройка Сollector], [monitoring|Zabbix]
# {color:orange}{*}Carbon XGE Router{*}{color}: [auth|CarbonBilling:Управление пользователями, интерфейс администратора. Авторизация.], [base|CarbonBilling:Управление модулями], [xge|xge:]
# {color:#0000ff}{*}Carbon OSS Billing 5 Softrouter{*}{color}: [auth|CarbonBilling:Управление пользователями, интерфейс администратора. Авторизация.], [base|CarbonBilling:Управление модулями], [asr_billing|Биллинг. Основные настройки биллинга], [asr_cabinet|CarbonBilling:Локальный сайт. Личный кабинет.], [collector|CarbonBilling:Настройка Сollector], [monitoring|Zabbix], [xge|xge:]

Например, запуск резервного копирования *asr_billing* (Управление абонентами и тарифами) выполняется следующим образом:
{code}
/app/asr_billing/service backup
{code}
Выгрузка на ftp:
{code}
/app/asr_billing/service backup_upload
{code}
\\
Для выполнения резервного копирования всей платформы и выгрузки на ftp выполните следующие команды:
{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}
*Бэкапить на 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. Решение проблем резервного копирования

Если в биллинге и интерфейсе администрирования платформы появился баннер, оповещающий об ошибке ежедневного бекапа, Вы можете изучить причину по логу, он находится по следующему пути:
{code}/app/base/var/log/cron_backup.sh.log{code}

h3. Самые распространенные причины

# Не создалась резервная копия *asr_billing*. Скорее всего, выявились ошибки БД. Об будет сообщено в логе, и в этом случае лучше сразу обратиться в техподдержку. Дополнительные логи программы *gbak*, которая не смогла снять резервную копию, доступны в файле
{code}/app/asr_billing/var/log/backup_db_v2.sh.log{code}
# Резервная копия не не была выложена на ftp. В случае ошибок curl, он выполняется повторно с флагом \-v и в логе пишется строка с аргументами, которые передаются в curl. Вы можете напрямую скопировать команду с curl в консоль для отладки. Подробней об ошибках выгрузки Вы можете прочитать в [соответствующей статье|CarbonBilling:Система мониторинга. Автоматические заявки FATAL, ALARM, WARNING. Проверка состояния сервера из командной строки.]
{include:CarbonBaseSystem:Настройки резервного копирования}