Описание системы резервного копирования
- Резервное копирование платформы происходит раз в сутки.
- Лог выполнения операции хранится в файле /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-сервере.
- В архив резервной копии base (папка /app/base/mnt/backup) копируется корневая папка /etc под названием root_etc. Эти файлы можно вручную восстановить на новой или восстановленной системе.
Настройка автоматического резервного копирования и выгрузки по FTP
Заполняете все нужные поля и сохраняете изменения.
IP-адрес FTP-сервера - адрес удаленнго FTP-сервера. На него будут копироваться копии БД.
Если порт на FTP сервере используется не стандартный (не 21й), то указывать его нужно через двоеточие. Например порт 1555
1.1.1.1:1555 |
Также можно указать доменное имя вместо IP адреса. Пример:
ftp.mydomain.com |
Бэкапить на 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.
Решение проблем резервного копирования
Описано в статье "Система мониторинга"