Gitlab backup


В Gitlab backup делается одной командой, это встроенный инструмент, для использования которого требуется root доступ к серверу.



gitlab backup



Как создать бэкап в консоли сервера

gitlab-roke gitlab:backup:create



Данные по умолчанию сохраняются в каталоге /var/opt/gitlab/backups

cd /var/opt/gitlab/backups



Приведенную команду можно добавить в планировщик CRON и выполнять по расписанию регулярно.



Затем бэкап можно при помощи rsync копировать на какой-либо внешний сервер.

Хранить бэкап на том же сервере с Gitlab нежелательно, поскольку данные должны быть доступны для восстановления если сервер оказался полностью недоступен.



В результате получается бэкап самого приложения, он не отменяет в общем случае необходимость иметь резервную копию содержимого диска или снапшот.



Gitlab backup — восстановление Gitlab из бэкапа


Восстановление возможно только при той же версии Gitlab



Для восстановления сначала останавливаются две службы

gitlab-ctl stop unicron

gitlab-ctl stop sidekiq



Затем следует проверить статус Gitlab

gitlab-ctl status



Если он остановлен, можно приступать к восстановлению

gitlab-roke gitlab:backup:restore BACKUP=123213123123


Численное значение — идентификатор бэкапа, в примере 123213123123.



Запуск после восстановления выполняется аналогично

gitlab-ctl start



Сервис должен запуститься и вернуться в нормальный рабочий режим.



Другие способы создания бэкапа Gitlab


Другие способы — это настройка создания бэкапов посервисно через планировщик CRON или, например, через Jenkins jobs. Либо бэкап всей системы сервера.

Создавать Gitlab backup посервисно через CRON довольно сложно потому что система имеет множество компонентов и копировать нужно их все, процесс запуска после восстановления будет довольно трудоемким и трудозатратным.



Бэкап всей системы позволяет решить эту проблему. При необходимости восстановления Gitlab восстанавливается из бэкапа вместе с операционной системой.

Если Gitlab работает на виртуальной машине с есть доступ к гипервизору бэкап можно делать через снапшоты KVM, можно периодически копировать образ диска KVM машины.

Также есть готовые решения, позволяющие реализовывать полные бэкапы системы.

Сказать спасибо