參考 : https://docs.gitlab.com/ee/raketasks/backup_restore.html
1. Gitlab 備份
1.1 備份 Configuration Files (Optional)
備份 /etc/gitlab 文件夾下的內容,包含 two-factor authentication、CI/CD 中的安全變量等。
若是使用 Docker 安裝,那預設路徑為 /srv/gitlab/config
sudo tar -czf "gitlab-config-$(date +%s).tgz" /srv/gitlab/config
1.2 備份 Data
打開 /etc/gitlab/gitlab.rb
sudo docker exec -it gitlab vi /etc/gitlab/gitlab.rb
進行以下的修改
# 取消下面兩行的註解 gitlab_rails['manage_backup_path'] = true # 是否備份 gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #備份目錄 # 修改備份過期時間 gitlab_rails['backup_keep_time'] = 604800
重新加載配置文件
sudo docker exec -it gitlab gitlab-ctl reconfigure
手動執行備份
sudo docker exec -it gitlab gitlab-rake gitlab:backup:create
會在 gitlab_rails['backup_path'] 中看到備份檔案 1555227555_2019_04_14_11.9.8_gitlab_backup.tar,檔名包含的訊息如下:
- Timestamp
- 年、月、日
- Gitlab 版本號碼
2. Gitlab 還原
需要符合下列要求:
- 執行備份與恢復的 Gitlab 版本必須要一致
- 恢復前至少執行過一次 (gitlab-ctl reconfigure)
- Gitlab 需於運作狀態中 (gitlab-ctl start)
2.1 還原 Configuration Files (Optional)
停止 Gitlab
sudo docker stop gitlab
還原 /etc/gitlab,若是使用 Docker 安裝,則會還原 /srv/gitlab/config。若是該路徑下已有檔案存在,記得移走或是備份後刪除。
sudo tar -xzf "gitlab-config-1555227555.tgz" -C /
重啟 Gitlab
sudo docker start gitlab
2.2 還原 Data
確認要還原的備份檔案在 gitlab_rails['backup_path'] 中
進入 gitlab 容器中
sudo docker exec -it gitlab /bin/bash
還原步驟如下
# 停止相關數據連接服務 gitlab-ctl stop unicorn gitlab-ctl stop sidekip # 檢查狀態 gitlab-ctl status # 還原備份 sudo gitlab-rake gitlab:backup:restore BACKUP=1555227555_2019_04_14_11.9.8 # 重啟 gitlab 並驗證 sudo gitlab-ctl restart sudo gitlab-rake gitlab:check SANITIZE=true
This is cool, thanks for the share. Also, if you are visit our website if you are looking for assistance with your nursing assignment:
回覆刪除Nursing Assignment Help