Резервное копирование и восстановление «Modus ETL» - Продукт Modus BI
Показать оглавление
В данной статье будут рассмотрены инструменты резервного копирования и восстановления СУБД Postgres, MSSQL и «Modus ETL».
Резервное копирование 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 у пользователя БД должны быть соответствующие права на чтение данных.

Резервное копирование MSSQL с помощью SSMS (SQL Server Management Studio)
Планы обслуживания SQL Server это самый распространенный способ настройки регулярного резервного копирования.
В SSMS (SQL Server Management Studio) перейдите в раздел Management -> Maintenance Planes и запустите -> мастер создания плана обслуживания (Maintenance Plan Wizard).

Укажите имя плана, выберите необходимые опции резервного копирования (Back Up Database (Full) Back Up Database (Transaction Log)), выберите базу, каталог хранения и создайте расписание.
Автоматизация для ОС 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 или mysqldump.
- Откройте Планировщик заданий Windows.
- Создайте «Простую задачу».
- Укажите триггер (расписание), например, «Ежедневно в 2:00».
- В действии укажите «Запуск программы» и выберите ваш .bat-файл.
Также вы можете воспользоваться инструментом создания резервных копий с помощью SQL Server Management Studio (SSMS).
Управление жизненным циклом бэкапов: очистка старых копий для ОС 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
Восстановление из резервных копий БД «Modus ETL»
На сервере должна быть установлена необходимая СУБД.
Восстановление в 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
Примечание — у пользователя должны быть права на создание базы данных и запись в целевую БД.
Восстановление в MSSQL
Запустите SSMS, щелкните по разделу Database и выберите пункт Restore Database.

Выберите источник и расположение восстанавливаемых резервных наборов данных. В окне появится список резервных копий, зарегистрированных в SQL Server для этой базы данных.
Установив все необходимые параметры, нажмите на кнопку «ОК». Запустится процесс восстановления базы данных.
После того, как процесс по восстановлению будет завершен придет уведомление «Восстановление базы данных успешно завершено».
Восстановление «Modus ETL»
Если Modus ETL и его компоненты ранее были установлены, то выполните восстановление вашей БД из резервной копии с учетом вашей СУБД.
Если Modus ETL и его компоненты не были раннее установлены, или это инсталляция на новом сервере, то предварительно необходимо произвести установку согласно разделу «Установка и запуск Modus ETL».
Далее необходимо произвести восстановление вашей резервной копии БД Modus ETL в новую БД.
Мониторинг и дополнительные рекомендации
Проверяйте ваши бэкапы. Периодически пытайтесь восстановить базу из резервной копии на тестовом стенде. Бэкап, который нельзя восстановить, бесполезен.
Храните копии в другом месте. Используйте правило 3-2-1: как минимум 3 копии данных, на 2 разных типах носителей, 1 из которых в контуре или местоположении.