- Описание системы резервного копирования
- Создание резервных копий вручную и их выгрузка на ftp
- Настройка автоматического резервного копирования и выгрузки по FTP
- Управление резервными копиями
- Создать резервную копию
- Показать список резервных копий на FTP-сервере
- Показать список резервных копий на сервере c биллингом
- Скачать резервную копию с FTP-сервера. Принимает имя резервной копии
- Восстановить все файлы из резервной копии. Принимает имя резервной копии
- Загрузить последнюю резеврную копию на FTP-сервер
- Решение проблем резервного копирования
Описание системы резервного копирования
- Резервное копирование платформы происходит раз в сутки.
- Лог выполнения операции хранится в файле /app/base/var/log/cron_backup.sh.log.
- Процесс резервного копирования состоит из последовательного вызова команды /app/ <имя app>/service backup для каждого контейнера, которая создает резервную копию, и /app/ <имя app>/service backup_upload, которая выгружает её на ftp.
Следовательно, если проблема с резервным копирование была во время создания, отлаживать можно именно /app/<имя app>/service backup. В случае, если была проблема с выгрузкой на ftp, можно отлаживать /app/<имя app>/service backup_upload. Не выполняя полную процедуру резервного копирования. - Единовременно на сервере хранятся только по одному экземпляру ежемесячной, еженедельной и ежедневной резервных копий.
- В процедуре backup_upload происходит не только выгрузка, но и чтение файлов с ftp, обновление файлов и создание директорий. Все эти действия должны быть разрешены на ftp-сервере.
Создание резервных копий вручную и их выгрузка на ftp
Следующие команды универсальны для любого контейнера на платформе Carbon PL5. Список контейнеров, поставляемых в продуктах Carbon OSS Billing 5, Carbon XGE Router и Carbon OSS Billing 5 Softrouter
- Carbon OSS Billing 5: auth, base, asr_billing, asr_cabinet, [collector], monitoring
- Carbon XGE Router: auth, base, xge
- Carbon OSS Billing 5 Softrouter: auth, base, asr_billing, asr_cabinet, [collector], monitoring, xge
Например, запуск резервного копирования asr_billing (Управление абонентами и тарифами) выполняется следующим образом:
/app/asr_billing/service backup
Выгрузка на ftp:
/app/asr_billing/service backup_upload
Для выполнения резервного копирования всей платформы и выгрузки на ftp выполните следующие команды:
/etc/init.d/apps backup /etc/init.d/apps backup_upload
Настройка автоматического резервного копирования и выгрузки по FTP
Настройка бэкпов производится меню Настройки платформы -> Настройки резервного копирования...
Заполняете все нужные поля и сохраняете изменения.
IP-адрес FTP-сервера - адрес удаленнго FTP-сервера. На него будут копироваться копии БД.
Если порт на FTP сервере используется не стандартный (не 21й), то указывать его нужно через двоеточие. Например порт 1555
1.1.1.1:1555 |
Бэкапить на FTP - выключает выгрузку на FTP.
Имя пользователя - логин для авторизации на FTP-сервере.
Пароль - пароль для авторизации на FTP-сервере.
Каталог на FTP-сервере - непосредственно в этот каталог будут записываться копии БД.
Ежедневная запись - включает резервное копирование. Настоятельно рекомендуется активировать Ежедневную запись, без этой опции резервное копирование не будет выполнятся в принципе.
Структура каталогов на 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
- backup_daily_2016-05-26_02-51_asr_billing.tar.gz
- В asr_billing также есть директория static, там хранятся неизменяемые бекапы БД, но в которые происходит дозапись. Например, аудит и история фин.проводок по абонентам. В основной архив класть их слишком накладно по памяти, да и изменяются они редко. Так что эти файлы выгружаются отдельно от архива и обновляются, после того в биллинге в эти базы произошла запись (во время бекапа).
Управление резервными копиями
Все команды для управления резервными копиями доступны с помощью опции --help:
/app/asr_billing/service --help
Доступные команды:
Создать резервную копию
/app/asr_billing/service backup
Показать список резервных копий на FTP-сервере
/app/asr_billing/service backup_ftp_list
Показать список резервных копий на сервере c биллингом
/app/asr_billing/service backup_local_list
Скачать резервную копию с FTP-сервера. Принимает имя резервной копии
/app/asr_billing/service backup_download <имя_бекапа>
Восстановить все файлы из резервной копии. Принимает имя резервной копии
/app/asr_billing/service backup_restore <имя_бекапа>
Например
/app/asr_billing/service backup_restore backup_2017-09-01_2017-09-01_15-12_asr_billing.tar.gz
Загрузить последнюю резеврную копию на FTP-сервер
/app/asr_billing/service backup_upload
Создать резервную копию можно с помощью команды backup и выгрузить её на FTP-сервер командой backup_upload.
Восстановление из резервной копии (backup_restore) можно производить только с файлами, которые находятся на на сервере биллинга.
Локальные копии, втом числе скачанные с ftp сервера, находятся в каталоге:
/mnt/backup/app/asr_billing/backup/
Чтобы скачать бекап с FTP-сервера, требуется просмотреть имеющееся файлы командой backup_list, а потом загрузить нужный, с помощью backup_download.
Решение проблем резервного копирования
Если в биллинге и интерфейсе администрирования платформы появился баннер, оповещающий об ошибке ежедневного бекапа, Вы можете изучить причину по логу, он находится по следующему пути:
/app/base/var/log/cron_backup.sh.log
Самые распространенные причины
- Не создалась резервная копия asr_billing. Скорее всего, выявились ошибки БД. Об будет сообщено в логе, и в этом случае лучше сразу обратиться в техподдержку. Дополнительные логи программы gbak, которая не смогла снять резервную копию, доступны в файле
/app/asr_billing/var/log/backup_db_v2.sh.log
- Резервная копия не не была выложена на ftp. В случае ошибок curl, он выполняется повторно с флагом -v и в логе пишется строка с аргументами, которые передаются в curl. Вы можете напрямую скопировать команду с curl в консоль для отладки. Подробней об ошибках выгрузки Вы можете прочитать в [соответствующей статье]