Gitlab backup

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

 

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

gitlab-roke gitlab:backup:create

 

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

cd /var/opt/gitlab/backups

 

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

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

 

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

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

 

 

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

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

 

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

gitlab-ctl stop unicron

gitlab-ctl stop sidekiq

 

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

gitlab-ctl status

 

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

gitlab-roke gitlab:backup:restore BACKUP=123213123123

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

 

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

gitlab-ctl start

 

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