Резервное копирование ПО 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 и проверьте корректность данных.