Резервное копирование и восстановление «Аналитического портала» - Продукт Modus BI
Показать оглавление
В данной статье будут рассмотрены инструменты резервного копирования и восстановления СУБД Postgres, и «Аналитического портала».
Резервное копирование PostgreSQL с помощью pg_dump
Для создания дампа базы данных PostgreSQL используется утилита pg_dump. Это мощный инструмент, который создает логическую копию базы данных в виде файла с SQL-командами.
Базовая команда для резервного копирования:bash
pg_dump -U ваш_пользователь -h localhost -d modusbi -f /путь/к/папке/бэкапов/modusbi_backup_$(date +%Y%m%d).dump
Ключевые параметры:
- -U ваш_пользователь: имя пользователя БД;
- -h localhost: хост, где расположена БД (если локально, можно опустить);
- -d modusbi: имя базы данных, которую бэкапим;
- -f /путь/...: полный путь и имя файла для резервной копии;
- $(date +%Y%m%d): подстановка текущей даты в формате ГГГГММДД. Это позволяет автоматически создавать уникальные имена файлов.
Примечание — для работы pg_dump у пользователя БД должны быть соответствующие права на чтение данных.

Поскольку запуск будет выполняться вручную, но в определенное время, идеальным решением является использование планировщиков задач.
Автоматизация для ОС Linux (cron)
Откройте crontab для редактирования:bash
crontab -e
Добавьте строку, которая будет запускать бэкап, например, каждую ночь в 2:00:bash
0 2 * * * /usr/bin/pg_dump -U ваш_пользователь -d modusbi -f /путь/к/папке/бэкапов/modusbi_backup_$(date +\%Y\%m\%d).dump
Примечание — символ % в команде date нужно экранировать обратным слэшем: \%.

Автоматизация для Windows
Автоматизация для Windows (Планировщик заданий):
- Создайте .bat-файл с командой pg_dump.
- Откройте Планировщик заданий Windows.
- Создайте «Простую задачу».
- Укажите триггер (расписание), например, «Ежедневно в 2:00».
- В действии укажите «Запуск программы» и выберите ваш .bat-файл.
Управление жизненным циклом бэкапов: очистка старых копий
Далее необходимо настроить политику очистки бэкапов, с учетом вашего регламента.
Для ОС Linux (с помощью find)
Добавьте в crontab задание, которое будет удалять файлы бэкапов старше, например, 5 дней:bash
0 1 * * * find /путь/к/папке/бэкапов -name "*.dump" -mtime +5 -delete
Эта команда будет запускаться в 1:00 ночи и находить все файлы .dump, измененные более 5 дней назад (-mtime +5), и удалять их.

Для ОС Windows (в .bat-файле или PowerShell)
Можно использовать PowerShell в составе задачи Планировщика:powershell
Get-ChildItem "C:\путь\к\папке\бэкапов\*.sql" | Where-Object LastWriteTime -lt (Get-Date).AddDays(-6) | Remove-Item
Восстановление из резервных копий БД «Аналитического портала»
На сервере должна быть установлена необходимая СУБД.
Восстановление в PostgreSQL
Восстановление в PostgreSQL с помощью pg_restore:
- вариант А: восстановление в существующую базу (данные будут добавлены к существующим):
pg_restore -U ваш_пользователь -h localhost -d modusbi /путь/к/папке/бэкапов/modusbi_backup_20251119.dump
- вариант Б: создание новой базы и восстановление в нее (более чистый способ):
createdb -U ваш_пользователь -h localhost modusbi
Затем восстановите дамп в нее:pg_restore -U ваш_пользователь -h localhost -d modusbi /путь/к/бэкапу/modusbi_backup_20251119.dump
Примечание — у пользователя должны быть права на создание базы данных и запись в целевую БД.
Резервное копирование и восстановление «Аналитического портала»
Резервное копирование файлов «Аналитического портала»
Для ОС Linux
Базовые команды для резервного копирования папки /opt/modusbi/:tar -czf /путь/к/папке/бэкапов/modusbi_files_backup_$(date +%Y%m%d).tar.gz /opt/modusbi/
Ключевые параметры:
- -c: создать новый архив;
- -z: сжать архив с помощью gzip;
- -f: указать имя архивного файла;
- $(date +%Y%m%d): добавление даты в имя файла для версионности.
Автоматизация с помощью планировщика cron
Настройте автоматическое выполнение резервного копирования ModusBI каждое воскресенье в 2:30 через crontab:30 2 * * 0 /bin/tar -czf /home/backup/modusbi_files_backup_$(date +\%Y\%m\%d).tar.gz /opt/modusbi/

Для Windows
С помощью PowerShell: Compress-Archive -Path "C:\portal\*" -DestinationPath "D:\backup\portal_backup_$(Get-Date -Format 'yyyyMMdd').zip" -CompressionLevel Optimal
Ключевые параметры:
- -Path: параметр, указывающий путь к архивируемым файлам;
- -DestinationPath: параметр для указания пути и имени выходного архива;
- $(Get-Date -Format 'yyyyMMdd'): динамическое получение даты:
- Get-Date: cmdlet для получения текущей даты и времени;
- -Format 'yyyyMMdd': формат даты: ГодМесяцДень (например, 20231224).
- .zip: расширение архивного файла;
- -CompressionLevel Optimal: параметр уровня сжатия, оптимальный уровень сжатия (баланс между скоростью и степенью сжатия).
Автоматизация с помощью планировщика
Создайте скрипт, который будет выполнять действия по резервному копированию согласно вашему заданию в «Планировщике заданий Windows».
Восстановление «Аналитического портала» из резервной копии
Для ОС Linux. Если «Аналитический портал» ранее был установлен
Если ранее на сервере уже был установлен и успешно запущен «Аналитический портал», выполните восстановление данных в папку с исполняемым файлом (по умолчанию это папка /opt/modusbi/):
- остановите службу ModusBI:
sudo systemctl stop modusbi
- восстановите данные из резервной копии:
sudo tar -xzf /home/backup/modusbi_files_backup_XXXXXXXX.tar.gz -C /opt/modusbi/
- запустите службу ModusBI:
sudo systemctl start modusbi
sudo systemctl status modusbi
Проверьте работоспособность «Аналитического портала».
Если «Аналитический портал» ранее не был установлен
Если «Аналитического портала» ранее не было на сервере, выполните следующие шаги:
- Установите Аналитический портал из официального дистрибутива:
- следуйте инструкциям по установке из предоставленного дистрибутива;
- убедитесь, что служба modusbi успешно зарегистрирована и запускается.
- После успешной установки выполните восстановление из файла резервной копии:
sudo systemctl stop modusbi
sudo tar -xzf /home/backup/modusbi_files_backup_XXXXXXXX.tar.gz -C /opt/modusbi/
sudo systemctl start modusbi
Проверьте работоспособность «Аналитического портала».
Для ОС Windows. Если «Аналитический портал» ранее был установлен
Если у вас ранее на сервере уже был установлен и успешно запущен «Аналитический портал», выполните остановку Службы «Аналитического портала» (Modus BI) и восстановите данные из архива резервной копии в папку с исполняемым файлом.
Запустите Службу «Аналитического портала» (Modus BI), убедитесь в его работе.
Если «Аналитический портал» ранее не был установлен
Если «Аналитического портала» ранее не было на сервере, выполните следующие шаги:
- Установите «Аналитический портал» из официального дистрибутива:
- следуйте инструкциям по установке из предоставленного дистрибутива;
- убедитесь, что служба modusbi успешно зарегистрирована и запускается.
- После успешной установки, остановите Службу «Аналитического портала» (Modus BI) и выполните восстановление из файла резервной копии в папку с исполняемым файлом.
- Запустите службу «Аналитического портала» (Modus BI), убедитесь в его работе.
Проверьте работоспособность «Аналитического портала».
Восстановление лицензии «Аналитического портала»
Подключитесь к БД хранящим метаданные вашего портала и выполните SQL запрос:
"UPDATE public.setting SET value='ваш id' WHERE setting_id=900;"— где «ваш id» можно найти в разделе «Лицензия» в настройках «Аналитического портала».
Мониторинг и дополнительные рекомендации
Проверяйте ваши бэкапы. Периодически пытайтесь восстановить базу из резервной копии на тестовом стенде. Бэкап, который нельзя восстановить, бесполезен.
Храните копии в другом месте. Используйте правило 3-2-1: как минимум 3 копии данных, на 2 разных типах носителей, 1 из которых в контуре или местоположении.