Просмотр Исходного

{toc}

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

# Резервное копирование платформы происходит раз в сутки.
# Лог выполнения операции хранится в файле /app/base/usr/local/bin/cron_backup.sh.
# Процесс резервного копирования состоит из последовательного вызова команды */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

Следующие команды универсальны для любого контейнера на платформе *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|CarbonBilling:Биллинг. Основные настройки биллинга], [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|CarbonBilling:Биллинг. Основные настройки биллинга], [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. Решение проблем резервного копирования

Если в биллинге и интерфейсе администрирования платформы появился баннер, оповещающий об ошибке ежедневного бекапа, Вы можете изучить причину по логу, он находится по следующему пути:
{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. Проверка состояния сервера из командной строки.]