Справка

Резервное копирование данных и восстановление системы

Безоблачный Pyrus

Для создания резервной копии системы достаточно сделать дамп основной базы данных, запущенной в docker-контейнере pyrus-postgresql. Сначала восстановится основная база данных (контейнер pyrus-postgresql), а затем реиндексируются индексы Elasticsearch (контейнер pyrus-elastic).

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

Следующая команда создаст дамп основной база данных приложения в текущую директорию. Если база данных большая, операция может занять продолжительное время.

$ docker exec -t pyrus-postgresql pg_dumpall -c -U pyrusadm | gzip > pyrus_backup_`date +%d-%m-%Y"_"%H_%M_%S`.sql.gz

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

Важно: инструкция ниже подразумевает полное восстановление системы на чистую установку. Попытка запуска восстановления на базу данных с уже существующими данными приведет к непредсказуемому результату.

  1. Запустите контейнеры хранилища данных:

    $ docker-compose up -d postgres logs elastic
    
  2. Выполните команду восстановления базы данных. В команде укажите соответствующую резервную копию системы. Продолжительность операции зависит от размера базы данных.

    $ gunzip < your_pyrus_backup.sql.gz | docker exec -i pyrus-postgresql psql -U pyrusadm -d pyrusdb
    
  3. Вы можете либо остаться на последней используемой версии Pyrus, либо обновить систему.

    1. Если вы решили остаться на текущей версии, ее необходимо зафиксировать.

      Узнать версию можно командой:

      $ docker-compose run --rm pyrus-setup --version
      

      В выводе вы получите номер версии, например, 1.1.0.

      После этого необходимо установить и загрузить версии остальных контейнеров согласно номеру версии:

      $ sed -i 's/:latest/:1.1.0/g' docker-compose.yml
      $ docker-compose --profile all pull
      
    2. Если вы решили обновить систему до последней релизной версии, выполните:

      $ docker-compose run --rm pyrus-setup --update
      
  4. Выполните инициализацию поисковых индексов Elasticsearch и их переиндексацию:

    $ docker-compose run --rm elastic-console -iall
    $ docker-compose run --rm elastic-console -rt
    $ docker-compose run --rm elastic-console -wgall
    $ docker-compose run --rm elastic-console -wcall
    $ docker-compose run --rm elastic-console -wpall
    $ docker-compose run --rm elastic-console -wnall
    
  5. Запустите все контейнеры командой:

    $ docker-compose up -d
    
  6. Проверка работоспособности

    Рекомендуется воспользоваться нижеприведенным чек-листом, чтобы убедиться в работоспособности системы:

    • Перезайти в систему, получить письмо с кодом

    • Создать задачу

    • Создать форму

    • Прикрепить файл к задаче

    • Скачать файл из задачи

    • Воспользоваться поиском

Была ли эта статья полезной?