Бэкапирование и восстановление GitFlic
Внимание!
- Бэкапирование находится в стадии Beta тестирования!
- В работе GitFlic CLI, связанной с бэкапированием и восстановлением могут присутствовать баги!
- О найденных багах и/или предложениях сообщайте на почту support@gitflic.ru
Общая информация
GitFlic CLI, начиная с версии 4.0.0, предоставляет возможность создания и восстановления резервных копий вашей инсталляции GitFlic.
Предварительные условия
Перед использованием GitFlic CLI убедитесь, что:
1. Инстанс GitFlic запущен и находится в рабочем состоянии
2. GitFlic CLI запускается от пользователя, у которого есть права на чтение и запись:
- Статических директорий GitFlic (
/var/gitflic/
) - Базы данных GitFlic
3. GitFlic CLI запускается на сервере c предустановленными утилитами pg_dump
и pg_restore
(обычно устанавливаются вместе с PostgreSQL)
Проверить наличие данных утилит в системе вы можете следующими командами:
which pg_dump
which pg_restore
После выполнения каждой из команд в терминале отобразится путь до утилиты.
4. В конфигурационный файл GitFlic (application.properties
) добавлен параметр с расположением утилит pg_restore
и pg_dump
:
gitflic.backup.pg_util-path=/usr/bin
Запуск GitFlic CLI
1. Распакуйте архив с ПО GitFlic в любую удобную директорию
unzip gitflic_4.0.0_free_onpremise.zip
2. Перейдите в директорию cli внутри распакованного архива
cd /path/to/arhive/cli
3. Сделайте скрипт gitflic-cli.sh исполняемым
chmod +x ./gitflic-cli.sh
4. Для запуска GitFlic CLI воспользуйтесь следующей командой, добавив в качестве опции путь до конфигурационного файла вашего инстанса GitFlic:
./gitflic-cli.sh /путь/до/application.properties
Сервисный режим
Перед созданием или восстановлением бэкапа сервис автоматически переводится в сервисный режим.
Однако, вы можете вручную включать или отключать сервисный режим.
Включение сервисного режима
service mode start
После запуска команды:
- Сервис остановит все активные соединения
- Сервис не сможет принимать HTTP(S) запросы
- SSH соединение будет не доступно
- Все обработчики сообщений (listeners) будут остановлены
- Задачи по рассписанию будут пропущены
Ожидаемый результат в логах:
Сервисный режим активирован
Выключение сервисного режима
service mode stop
Ожидаемый результат в логах:
Сервисный режим деактивирован
Создание резервной копии
Для создания резервной копии используйте команду:
backup
По умолчанию архив с бэкапом будет сохранен в ту же директорию, в которой расположен GitFlic CLI.
Вы также можете явно указать путь для сохранения бэкапа:
backup /путь/для/сохранения/
Обратите внимание!
- Убедитесь, что у пользователя, от которого запускается GitFlic CLI, есть права на запись в указываемую директорию.
- В связи с политикой безопасности, при бэкапировании не сохраняются RSA и SSH ключи, а также конфигурационный файл
application.properties
.
Ожидаемый результат:
- Перевод GitFlic в сервисный режим
- Создание бэкапов директорий и базы данных
- После завершения в консоли выводится путь до архива в формате
.tar.gz
Пример вывода в логах:
Активация сервисного режима
Сервисный режим активирован
Запуск резервного копирования
___________________________________
Результаты резервного копирования
___________________________________
|rsa_public_key |NOT_FOUND_SKIPPED|
|rsa_private_key|NOT_FOUND_SKIPPED|
|audit |NOT_FOUND_SKIPPED|
|releases |SUCCESS |
|images |SUCCESS |
|cicd |SUCCESS |
|registry |SUCCESS |
|repository |SUCCESS |
|ssh_cert |SUCCESS |
|database |SUCCESS |
___________________________________
Деактивация сервисного режима
Сервисный режим деактивирован
Восстановление из резервной копии
Для восстановления используется команда:
restore /путь/до/бэкапа.tar.gz
Внимание: Это действие перезапишет текущее состояние GitFlic!
Ожидаемый результат:
- GitFlic временно перейдёт в сервисный режим
- Выполнится распаковка и восстановление данных
- После успешного восстановления сервис вернётся к состоянию, в котором был на момент создания бэкапа
Пример вывода:
Активация сервисного режима
Сервисный режим активирован
Распаковка архива
Распаковка архива завершена
releases : SUCCESS
images : SUCCESS
cicd : SUCCESS
registry : SUCCESS
repository : SUCCESS
ssh_cert : SUCCESS
database : SUCCESS
Деактивация сервисного режима
Сервисный режим деактивирован
Рекомендации
- Регулярно делайте резервные копии для обеспечения сохранности данных
- Храните резервные копии на внешнем сервере или отдельном носителе, чтобы избежать потери данных при сбое основного сервера