gitlab備份與恢復

一、gitlab備份與恢復

參考:https://docs.gitlab.com/ce/ra...html

# 建立系統備份
sudo gitlab-rake gitlab:backup:create
# 備份文件存在/var/opt/gitlab/backups,可編輯/etc/gitlab/gitlab.rb修改
# 源碼安裝使用下面命令備份
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production

# docker安裝使用下面命令備份
docker exec -t <container name:gitlab> gitlab-rake gitlab:backup:create

# 將備份上傳到遠程存儲(暫無)
# 將備份文件存儲到本地
gitlab_rails['backup_upload_connection'] = {
  :provider => 'Local',
  :local_root => '/mnt/backups'
}
  • The directory inside the mounted folder to copy backups to Use '.' to store them in the root directorygit

gitlab_rails['backup_upload_remote_directory'] = 'gitlab_backups'

備份檔案權限

# In /etc/gitlab/gitlab.rb, for omnibus packages
gitlab_rails['backup_archive_permissions'] = 0644 
# Makes the backup archives world-readable 備份配置文件 針對(Omnibus)備份:/etc/gitlab/gitlab.rb 、/etc/gitlab/gitlab-secrets.json,添加定時備份
# 天天凌晨兩點備份

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

# 保留備份30天,單位秒
gitlab_rails['backup_keep_time'] = 2592000

二、Omnibus安裝恢復

# 確認備份檔案放到gitlab.rb定義的備份目錄(默認/var/opt/gitlab/backups)
sudo cp 1504793137_2017_09_07_9.5.3_gitlab_backup.tar /var/opt/gitlab/backups/
# 中止鏈接數據庫的進程
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
# Verify
sudo gitlab-ctl status
# 恢復備份檔案,指定時間戳
sudo gitlab-rake gitlab:backup:restore BACKUP=1504793137_2017_09_07_9.5.3
> Unpacking backup ... tar: 1504796591_2017_09_07_9.5.3_gitlab_backup.tar: Cannot open: Permission denied
chmod git:git 1504796591_2017_09_07_9.5.3_gitlab_backup.tar
# 重啓並檢查恢復狀況
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true
相關文章
相關標籤/搜索