Sign inSign up

alexbidenko/docker-postgres-backuper

By alexbidenko

•Updated over 2 years ago

Image
0

871

alexbidenko/docker-postgres-backuper repository overview

⁠Docker Postgres Backup Manager

⁠Добавление новой базы данных

Для добавления новой базы данных необходимо выполнить следующие действия:

  • Создать для нее новое хранилище в списке volumes в docker-compose.yml файле;
  • Создать новый сервис базы данных в docker-compose.yml файле;
  • Добавить название сервиса базы данных в переменную окружения DATABASE_LIST сервиса controller;
  • Добавить новое хранилище в список доступных для сервиса controller хранилищ примонтировав его в отдельную директорию с соответствующим для названия хранилища названием директории.
  • Опционально: если база данных использует не стандартные значения базы данных, пользователя или пароля, то их необходимо указать в переменных окружения контроллера, при этом переменные имеют префикс соответствующий названию сервиса базы данных. Пример для базы данных users:
    • USERS_POSTGRES_USER: user (по умолчанию postgres)
    • USERS_POSTGRES_PASSWORD: password (по умолчанию postgres)
    • USERS_POSTGRES_DB: database (по умолчанию postgres)
    • USERS_POSTGRES_HOST: host (по умолчанию название базы данных - users)

⁠Контроллер базы данных

Контролем за работу базы данных занимается контейнер controller. Он отвечает за создание бэкапов, перенос их в отдельную папку для синхронизации тестового сервера и прода и упрощает работу со многими другими командами.

Доступные скрипты:

./controller start - запускает процесс автоматического бэкапа. Предупреждение! Это бесконечный фоновый процесс и его не стоит запускать из терминала.

./controller dump [$database-name|--all] [--shared] - создает бэкап микросервиса базы данных $database-name или, если указан флаг --all вместо названия, то для всех баз данных сразу. Опциональный флаг --shared говорит о том, будет ли созданный бэкап перенесен в общую для тестового и прод сервера директорию (опция рекомендуема для применения только на прод сервере).

./controller restore $database-name $backup-file - восстановление базы данных $database-name из файла бэкапа $backup-file. Файл бэкапа будет взят из соответствующей директории файлов бэкапа для базы данных $database-name.

./controller restore-from-shared [$database-name|--all] - восстанавливает базу данных $database-name или, если указан флаг --all вместо названия, то для всех баз данных сразу, с копированием в нее/них данных из общей для тестового сервера и прода директории бэкапов.

./controller list $database-name - выводит список всех доступных файлов бэкапа для восстановления доступных для базы данных $database-name.

./controller resetwal $database-name - производит восстановление базы данных $database-name в случае ее завершения с ошибкой и проблем с запуском.

Tag summary

Content type

Image

Digest

sha256:4b5bbe421…

Size

92 MB

Last updated

over 2 years ago

docker pull alexbidenko/docker-postgres-backuper