Резервное копирование и восстановление «Аналитического портала»

Показать оглавление

 

В данной статье будут рассмотрены инструменты резервного копирования и восстановления СУБД 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 (Планировщик заданий):

  1. Создайте .bat-файл с командой pg_dump.
  2. Откройте Планировщик заданий Windows.
  3. Создайте «Простую задачу».
  4. Укажите триггер (расписание), например, «Ежедневно в 2:00».
  5. В действии укажите «Запуск программы» и выберите ваш .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

Проверьте работоспособность «Аналитического портала». 

Если «Аналитический портал» ранее не был установлен

Если «Аналитического портала» ранее не было на сервере, выполните следующие шаги:

  1. Установите Аналитический портал из официального дистрибутива:
    • следуйте инструкциям по установке из предоставленного дистрибутива;
    • убедитесь, что служба modusbi успешно зарегистрирована и запускается.
  2. После успешной установки выполните восстановление из файла резервной копии:

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), убедитесь в его работе.

Если «Аналитический портал» ранее не был установлен

Если «Аналитического портала» ранее не было на сервере, выполните следующие шаги:

  1. Установите «Аналитический портал» из официального дистрибутива:
    • следуйте инструкциям по установке из предоставленного дистрибутива;
    • убедитесь, что служба modusbi успешно зарегистрирована и запускается.
  2. После успешной установки, остановите Службу «Аналитического портала» (Modus BI) и выполните восстановление из файла резервной копии в папку с исполняемым файлом.
  3. Запустите службу «Аналитического портала» (Modus BI), убедитесь в его работе.

Проверьте работоспособность «Аналитического портала».

Восстановление лицензии «Аналитического портала»

Подключитесь к БД хранящим метаданные вашего портала и выполните SQL запрос: 

  • "UPDATE public.setting SET value='ваш id' WHERE setting_id=900;" — где «ваш id» можно найти в разделе «Лицензия» в настройках «Аналитического портала».

Мониторинг и дополнительные рекомендации

Проверяйте ваши бэкапы. Периодически пытайтесь восстановить базу из резервной копии на тестовом стенде. Бэкап, который нельзя восстановить, бесполезен.

Храните копии в другом месте. Используйте правило 3-2-1: как минимум 3 копии данных, на 2 разных типах носителей, 1 из которых в контуре или местоположении.