1. 程式人生 > >Gitlab備份和恢復操作

Gitlab備份和恢復操作

hive 分享圖片 手動 環境變量 ide nta pre mkdir -p blog

  參考:https://www.cnblogs.com/kevingrace/p/7821529.html

  

  一,設置開啟備份以及備份路徑

  /etc/gitlab/gitlab.rb

gitlab_rails[‘manage_backup_path‘] = true               #開啟備份
gitlab_rails[‘backup_path‘] = "/data/gitlab/backups" #設置備份路徑
gitlab_rails[‘backup_archive_permissions‘] = 0644    #備份文件的權限
gitlab_rails[‘backup_keep_time‘] = 604800                #備份保留天數這裏單位是秒是7天

  創建備份路徑並且設置權限

mkdir -p /data/gitlab/backups
chown -R git.git /data/gitlab/backups
chmod -R 777 /data/gitlab/backups

  設置生效

gitlab-ctl reconfigure

  

  二,手動使用命令備份

gitlab-rake gitlab:backup:create

技術分享圖片

  執行完畢可以在備份路徑下面看到備份文件

技術分享圖片

  設置腳步定時備份

  gitlab_backup.sh

#!/bin/bash
/usr/bin/gitlab-rake gitlab:backup:create CRON=1

  PS:環境變量CRON=1的作用是如果沒有任何錯誤發生時, 抑制備份腳本的所有進度輸出

  crontab -e

0 0,6,12,18 * * * /bin/bash -x /data/gitlab/backups/gitlab_backup.sh > /dev/null 2>&1

  

  三,恢復操作

  停止數據庫連接

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

  查看狀態

gitlab-ctl status

技術分享圖片

  恢復(遇到需要輸入則輸入yes)

  恢復之前可以刪除一個測試庫比如test然後在恢復以後看是否恢復

gitlab-rake gitlab:backup:restore backup=1525801521_gitlab_backup.tar

技術分享圖片

  再次啟動gitlab

gitlab-ctl start

技術分享圖片

  PS:另外:Gitlab遷移與恢復一樣,但是要求兩個GitLab版本號一致

Gitlab備份和恢復操作