Гитлаб — резервное копирование и восстановление
Предположим, что бэкап у вас уже есть.
Делается он крайне просто и средствами самого гитлаба
Желательно в конфиге ограничить его время жизни и прописать.
1. Ограничиваем время жизни неделей:
vi /etc/gitlab/gitlab.rb
gitlab_rails[‘backup_keep_time’] = 604800
Сохраняем, переконфигурируем гитлаб
gilab-ctl reconfigure
2. Добавляем задачу в крон
crontab -r
0 3 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
Ежедневно в 3 часа ночи
3. Восстановление:
— скопировать архив с бэкапом в папку где должен лежать бэкап (если он лежит не там)
«там» — это параметр gitlab_rails[‘backup_path’] в файле gitlab.rb
по умолчанию это /var/opt/gitlab/backups
— остановить процессы, коннектящиеся к базе данных:
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# Verify
gitlab-ctl status
— восстановить из имеющегося бэкапа
gitlab-rake gitlab:backup:restore BACKUP=xxxxxxx_2017_01_01_10.0.0
— перезапустить и проверить
gitlab-ctl start
gitlab-rake gitlab:check SANITIZE=true
Во всех командах опущено sudo.