Документация 0.4 Администрирование

Резервные копии и ключи

Что копируется #

Что В копии
Основная база (процессы, задания, журнал, очереди, пользователи, определения отчётов, лицензия) tulpar.dump
База отчётов (записи отчётов, копия данных для SQL) tulpar-reports.dump
Пакеты процессов, сертификат HTTPS, orchestrator.json files\packages, files\certs, orchestrator.json
Скриншоты и файлы заданий files\artifacts — только с -IncludeArtifacts
Ключ шифрования не копируется — только его экспорт master.tkey, если он сделан

Роли рабочих областей в базе отчётов в копию не входят: сервер создаёт их заново после восстановления.

Копия по расписанию #

Windows — разово:

& "C:\Program Files\Tulpar\Orchestrator\backup.ps1" -BackupDir D:\Backups\Tulpar

Ежедневно в 02:30 — задача планировщика от имени SYSTEM (PowerShell от администратора):

$action = New-ScheduledTaskAction -Execute 'powershell.exe' `
  -Argument '-NoProfile -ExecutionPolicy Bypass -File "C:\Program Files\Tulpar\Orchestrator\backup.ps1" -BackupDir D:\Backups\Tulpar'
$trigger = New-ScheduledTaskTrigger -Daily -At 02:30
Register-ScheduledTask -TaskName 'Tulpar Backup' -Action $action -Trigger $trigger -User 'SYSTEM' -RunLevel Highest

Хранятся последние 14 копий (-Keep 14). Дату последней копии видно в «Состояние системы»; если копии нет 7 дней — предупреждение и оповещение „Состояние сервера“. Копируйте папку копий на другой компьютер или NAS.

Linux (Docker):

cd /opt/tulpar && sh ./backup.sh /backups
echo '30 2 * * * root cd /opt/tulpar && sh ./backup.sh /backups >> /var/log/tulpar-backup.log 2>&1' | sudo tee /etc/cron.d/tulpar-backup

Ключ шифрования #

Пароли учётных данных и пароли ролей базы отчётов хранятся в базе зашифрованными (AES-256-GCM) мастер-ключом. На Windows ключ защищён DPAPI компьютера — на другом сервере его не прочитать без экспорта.

Действие Команда Когда
Экспорт Tulpar.Orchestrator.exe keys export --out D:\Сейф\tulpar-master.tkey Сразу после установки и после каждой замены ключа
Загрузка Tulpar.Orchestrator.exe keys import --in D:\Сейф\tulpar-master.tkey На новом сервере после восстановления (служба остановлена)
Замена Tulpar.Orchestrator.exe keys rotate По политике безопасности: новый ключ, все пароли перешифровываются (служба остановлена)

Файл экспорта зашифрован вашим паролем (не короче 10 символов). Пока экспорт не сделан, «Состояние системы» напоминает об этом. Следующая резервная копия кладёт файл экспорта в копию как master.tkey. После замены ключа сразу сделайте новый экспорт — старый файл больше не подходит.

В Docker: docker compose exec orchestrator dotnet Tulpar.Orchestrator.dll keys export --out /var/lib/tulpar/exports/master.tkey, затем docker compose cp orchestrator:/var/lib/tulpar/exports/master.tkey .

Восстановление на чистом сервере #

Windows:

  1. Установите PostgreSQL и сервер Tulpar (Установка сервера); мастер первого запуска проходить не нужно.
  2. Восстановите копию (база будет заменена; спрашиваются пароль postgres и пароль файла ключа):
    cd "C:\Program Files\Tulpar\Orchestrator"
    .\restore.ps1 -BackupPath D:\Backups\Tulpar\tulpar-20261116-023000
    
    Скрипт останавливает службу, пересоздаёт обе базы и загружает дампы, возвращает пакеты и сертификат, загружает ключ из master.tkey копии (или -KeyFile D:\Сейф\tulpar-master.tkey) и запускает службу.
  3. Войдите прежним логином и проверьте «Состояние системы»: ключ шифрования в порядке, нет сообщений о недостающих ключах.

Linux (Docker): положите docker-compose.yml, .env и secrets/master.key прежнего сервера (или выполните init-secrets.sh для новых — тогда нужен master.tkey в копии), затем:

docker compose up -d
sh ./restore.sh /backups/tulpar-20261116-023000

Идентификатор установки хранится в базе — после восстановления на другой машине лицензия продолжает действовать.