Резервное копирование в Docker Compose
Назовите свой проект
В качестве примера в этой инструкции используется проект с именем testit
. Вы можете использовать другое название.
Создание резервных копий
Осторожно
Не рекомендуется создавать резервные копии от имени суперпользователя root (sudo
) во избежание ошибок восстановления.
На время создания резервной копии продукт будет остановлен.
Перед выполнением скрипта на создание резервной копии перейдите в директорию, которая содержит
docker-compose.yml
файл с настройками текущей версии системы.Для создания резервной копии выполните следующие команды:
chmod +x scripts/backup.sh scripts/backup.sh docker-compose.yml testit # Или scripts/backup.sh docker-compose.yml testit --notar # С флагом '--notar' архивы хранилищ docker не будут объединяться в один большой файл, что в моменте работы скрипта положительно скажется на утилизации места на диске в связи со спецификой работы утилиты tar
Система будет запущена после окончания процесса. В рабочей директории будет создан архив с резервной копией. Формат имени файла архива:
backup_{день}_{месяц}_{год}.tar
. Например,backup_21_05_2019.tar
. C использованием флага--notar
будет создана директорияbackup_{день}_{месяц}_{год}
, в которой будут содержаться архивыvolume_name.tar.bz2
.
Для внешних БД скрипт настраивается отдельно
Приведенный скрипт не распространяется на внешние БД (в случае их настройки и использования). Для внешних БД необходимо настроить резервное копирование отдельным шагом (штатными средствами PostgreSQL).
Восстановление из резервной копии
Продукт будет остановлен на время восстановления из резервной копии.
Перед выполнением скрипта на восстановление из резервной копии перейдите в директорию, которая содержит
docker-compose.yml
и.env
-файлы с настройками текущей версии системы.Для восстановления из резервной копии выполните следующие команды:
chmod +x scripts/restore.sh scripts/restore.sh docker-compose.yml testit backup_21_05_2019.tar # Или scripts/restore.sh docker-compose.yml testit backup_21_05_2019 --notar # Запуск с флагом '--notar' сработает только для восстановления из резервной копии, созданной с аналогичным флагом
Система будет запущена после окончания процесса.
Если вы переносите Test IT на новый сервер
При переносе продукта на другой сервер рекомендуется предварительно установить Test IT на новом сервере с настройками по умолчанию, затем восстановить данные системы из резервной копии.
Для наилучшей совместимости на новом сервере рекомендуется устанавливать Test IT той же версии, которая содержится в резервной копии, переносимой из исходного сервера.