Резервное копирование

Резервная копия (бэкап) хранит настройки, сделанные через web-интерфейс и API. В нее не входят данные графиков, по которым также строятся отчеты.

Восстановление возможно только на ту же версию Mitigator´а, с которой была сделана резервная копия.

Создание резервной копии

При работающем Mitigator´е:

docker-compose exec postgres sh -c 'backup > /tmp/backup.sql'
docker cp mitigator_postgres_1:/tmp/backup.sql .

При остановленном Mitigator´е:

docker-compose up -d postgres
docker-compose exec postgres sh -c 'backup > /tmp/backup.sql'
docker cp mitigator_postgres_1:/tmp/backup.sql .
docker-compose down postgres

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

tail backup.sql

Восстановление из резервной копии

  1. Остановить Mitigator:

    docker-compose down
    
  2. Удалить существующую базу:

    docker volume rm mitigator_postgres
    
  3. Запустить Postgres:

    docker-compose up -d postgres && docker-compose logs -f postgres
    
  4. Дождаться сообщения database system is ready to accept connections, нажать Ctrl+C.

  5. Перенести бэкап в контейнер и восстановить данные:

    docker cp backup.sql mitigator_postgres_1:/tmp
    docker-compose exec postgres sh -c 'psql mitigator </tmp/backup.sql >/tmp/restore.log'
    
  6. Запустить Mitigator:

    docker-compose up -d
    

Если на этапе восстановления появились ошибки, технической поддержке будет нужен их текст и файл restore.log, который можно забрать из контейнера так:

docker cp mitigator_postgres_1:/tmp/restore.log .