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.