Перейти к содержанию

Резервное копирование ПО GitFlic запущеного с помощью Docker Compose

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

Для сохранения консистентности данных, рекомендуется остановить сервис Gitflic.

  • Выполните команду docker volume ls и найдите тома , отвечающие за данные внутри ПО Gitflic:

    docker volume ls -q | grep -e gitflic_data -e gitflic_cert -e pg_data -e redis_data -e gitflic_etc
    
    # Вывод команды docker volume ls -q | grep -e gitflic_data -e gitflic_cert -e pg_data -e redis_data -e gitflic_etc
    docker_gitflic_data
    docker_gitflic_etc
    docker_pg_data
    docker_redis_data
    gitflic_cert
    
    • Том gitflic_data отвечает за хранение данных ПО gitflic
    • Том gitflic_etc отвечает за хранение настроек ПО gitflic
    • Том gitflic_cert отвечает за хранение сертификатов ПО gitflic
    • Том pg_data отвечает за хранение данных БД postgres
    • Том redis_data отвечает за хранение данных БД redis
  • Выполните команды для выполнения резервного копирования, подставив ваши имена томов docker в перменные:

    PG_VOL=docker_pg_data
    REDIS_VOL=docker_redis_data
    GF_VOL=docker_gitflic_data
    GF_ETC_VOL=docker_gitflic_etc
    GF_CERT_VOL=gitflic_cert
    
    docker run --rm -v ${PG_VOL}:/pg_data -v ./backups:/backups alpine tar -cvf /backups/pg_data.tar -C /pg_data .
    docker run --rm -v ${REDIS_VOL}:/redis_data -v ./backups:/backups alpine tar -cvf /backups/redis_data.tar -C /redis_data .
    docker run --rm -v ${GF_VOL}:/gitflic_data -v ./backups:/backups alpine tar -cvf /backups/gitflic_data.tar -C /gitflic_data .
    docker run --rm -v ${GF_ETC_VOL}:/gitflic_etc -v ./backups:/backups alpine tar -cvf /backups/gitflic_etc.tar -C /gitflic_etc .
    docker run --rm -v ${GF_CERT_VOL}:/gitflic_cert -v ./backups:/backups alpine tar -cvf /backups/gitflic_cert.tar -C /gitflic_cert .
    
  • В результате выполнения команд в текущей директории появится папка backups, с архивами данных ПО Gitflic. Сохраните эти данные в вашей СХД ,для дальнейшего востановления.

Востановление данных

  • Остановите сервис Gitflic

  • Выполните команду docker volume ls и найдите тома , отвечающие за данные внутри ПО Gitflic:

    docker volume ls -q | grep -e gitflic_data -e gitflic_cert -e pg_data -e redis_data -e gitflic_etc
    
    # Вывод команды docker volume ls -q | grep -e gitflic_data -e gitflic_cert -e pg_data -e redis_data -e gitflic_etc
    docker_gitflic_data
    docker_gitflic_etc
    docker_pg_data
    docker_redis_data
    gitflic_cert
    
    • Том gitflic_data отвечает за хранение данных ПО gitflic
    • Том gitflic_etc отвечает за хранение настроек ПО gitflic
    • Том gitflic_cert отвечает за хранение сертификатов ПО gitflic
    • Том pg_data отвечает за хранение данных БД postgres
    • Том redis_data отвечает за хранение данных БД redis
  • Перейдите с директорию с сохранеными архивами данных полученных в результате выполнения резервного копирования

  • Выполните команды для выполнения востановления, подставив ваши имена томов docker в перменные:

    PG_VOL=docker_pg_data
    REDIS_VOL=docker_redis_data
    GF_VOL=docker_gitflic_data
    GF_ETC_VOL=docker_gitflic_etc
    GF_CERT_VOL=gitflic_cert
    
    docker run --rm -v ${PG_VOL}:/pg_data -v ./backups:/backups alpine tar -xvf /backups/pg_data.tar -C /pg_data .
    docker run --rm -v ${REDIS_VOL}:/redis_data -v ./backups:/backups alpine tar -xvf /backups/redis_data.tar -C /redis_data .
    docker run --rm -v ${GF_VOL}:/gitflic_data -v ./backups:/backups alpine tar -xvf /backups/gitflic_data.tar -C /gitflic_data .
    docker run --rm -v ${GF_ETC_VOL}:/gitflic_etc -v ./backups:/backups alpine tar -xvf /backups/gitflic_etc.tar -C /gitflic_etc .
    docker run --rm -v ${GF_CERT_VOL}:/gitflic_cert -v ./backups:/backups alpine tar -xvf /backups/gitflic_cert.tar -C /gitflic_cert .
    
  • В результате выполнения команд будет выполнено востановление данных из соотвествующих архивов.

  • Запустите ПО Gitflic и проверьте корректность данных.