目錄
- Gitlab 代碼庫遷移恢復
- 前言
- 1. docker容器恢復
- 2. gitlab代碼庫恢復
Gitlab 代碼庫遷移恢復
前言
承接之前寫過的公司gitlab代碼庫備份檔案,此檔案為對進行備份的gitlab代碼庫備份包進行資料遷移恢復測驗,
首先,執行備份的腳本如下:

執行完腳本,備份包存于/data/gitlab_backup目錄下,scp此目錄下的所有檔案到備份恢復測驗機
scp /data/gitlab_backup/* root@10.*.*.*:/home/backup
1. docker容器恢復
首先,啟動docker
systemctl start docker
systemctl enable docker
然后,將gitlab的docker鏡像的備份tar包加載成鏡像
docker load -i gitlab_image_backup_2021-09-03.tar.gz
#查看鏡像
docker images
#啟動容器,并設定埠映射
docker run -itd -p 9180:9180 -p 9443:443 -p 9022:9022 5ff8172ebbfd #docker 鏡像ID
#查看容器狀態
docker ps -a
效果如下

至此,gitlab的docker容器已恢復成功,下面開始進行gitlab代碼庫的恢復,
2. gitlab代碼庫恢復
拷貝本地的gitlab代碼庫備份檔案到容器內,并賦予權限
docker cp /home/backup/1630657992_2021.09.03_13.2.6_gitlab_backup.tar 8ff130655419:/var/opt/gitlab/backups
#進入容器內
docker exec -it 8ff130655419 /bin/bash
#賦予備份包權限
chmod -R 777 /var/opt/gitlab/backups
將壓縮包拷進之后,對gitlab.rb檔案和nginx下的gitlab-http.conf檔案進行編輯,將gitlab.rb檔案中的external_url 修改為本地ip+埠號
external_url 'http://10.*.*.*:9180'
wq保存退出,進行nginx組態檔的修改
如圖所示

修改地方如下
listen *:9180;
server_name 10.*.*.*;
set $http_host_with_default "10.*.*.*:9180";
wq保存退出,執行gitlab-ctl reconfigure,使配置生效,
然后進行代碼庫恢復
gitlab-rake gitlab:backup:restore BACKUP=1630657992_2021.09.03_13.2.6 #注意,此處為備份包編號,不是整個備份包的名稱
#出現互動界面,輸入yes,直至恢復完成,
代碼庫恢復結束后,重啟gitlab服務gitlab-ctl restart,并查看服務狀態gitlab-ctl status

瀏覽器訪問本地ip+埠號,輸入原來的管理員賬號密碼,登陸成功,代碼庫資料無丟失,至此恢復成功,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/297547.html
標籤:其他
