在CentOS系統中備份和恢復GitLab主要包括以下步驟:
編輯GitLab配置文件:
打開 /etc/gitlab/gitlab.rb
文件,設置備份路徑和其他相關配置。
sudo vim /etc/gitlab/gitlab.rb
找到并修改以下配置項:
gitlab_rails['backup_path'] "/opt/gitlab-backups"
gitlab_rails['backup_keep_time'] 2592000 # 設置備份文件保存的時間,單位為秒
設置備份路徑為你希望存儲備份文件的目錄,并設置備份文件的保留時間(例如,保留7天的備份)。
創建備份: 使用以下命令手動創建備份:
sudo gitlab-rake gitlab:backup:create
備份文件默認路徑為 /var/opt/gitlab/backups
,文件名類似 1473314665_gitlab_backup.tar
。
備份腳本:
可以創建一個備份腳本,結合 cron
實現自動定時備份。
sudo nano /path/to/backup_gitlab.sh
添加以下內容:
#!/bin/bash
BACKUP_DIR="/path/to/backup/directory/"
rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lostfound"} /var/opt/gitlab/ $BACKUP_DIR
tar czvf gitlab_backup_$(date +%Y%m%d).tar.gz -C /var/opt/gitlab/ .
保存并退出編輯器,然后給予腳本執行權限:
sudo chmod +x /path/to/backup_gitlab.sh
添加 cron
任務來定期運行備份腳本:
sudo crontab -e
添加以下行來每天凌晨1點運行備份腳本:
0 1 * * * /path/to/backup_gitlab.sh
crontab
設置定時任務來自動執行備份。例如,每天凌晨2點執行備份:0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
sudo tar -xzf gitlab_backup.tar.gz
sudo gitlab-rake gitlab:backup:restore BACKUP=備份文件名
將 備份文件名
替換為實際的備份文件名。sudo cp -r repositories/* /var/opt/gitlab/git-data/repositories/
sudo gitlab-ctl start
或者sudo gitlab-ctl restart
gitlab.rb
和 gitlab-secrets.json
配置文件,這些需要手動備份。以上就是在CentOS系統上備份和恢復GitLab的基本步驟和注意事項,希望對您有所幫助。