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

{toc:maxlevel=2}

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

!base_ftp.png|width=900!

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

|| Ежедневное резервное копирование данных | {warning}*Включает ежедневное создание резервных копий. Крайне рекомендуется включить эту опцию.*{warning} |
|| Каталог на FTP сервере | Каталог на FTP-сервер куда будут выгружаться резервные копии |
|| Выкладывать резервную копию на FTP | Включает ежедневное создание резервных копий |
|| Пароль | Пароль пользователя FTP-сервера |
|| IP-адрес FTP-сервера | Адрес FTP-сервера:
* Можно указать домен, например: *ftp.mydomain.ru*
* Нестандартный пароль нужно указывать через двоеточие от имени хоста, например: *ftp.mydomain.ru:555* |
|| Имя пользователя | Имя пользователя FTP-сервера |

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}

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

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

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

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

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

h3. Восстановить все файлы из резервной копии. Принимает имя резервной копии
{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}

h3. Загрузить последнюю резеврную копию на 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:Система мониторинга]"