gitlab數據備份與恢復


gitlab數據備份與恢復

一、備份數據

1)修改配置文件

  • /etc/gitlab/gitlab.rb
# gitlab_rails['backup_path'] 備份保存的位置,這里是默認位置,可修改成指定的位置
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_path'] = "/data/gitlab_backup/"

# (該配置可不處理)設置備份保存的時間,超過此時間的日志將會被新覆蓋
gitlab_rails['backup_keep_time'] = 604800  # 這里是默認設置,保存7天,配置文件中默認為注釋的

# 特別注意:
# 如果自定義了備份保存位置,則要修改備份目錄的權限,比如:
chown -R git.git /data/gitlab_backup/
  • 配置完成后要重啟以使配置生效
# 重讀配置文件
gitlab-ctl reconfigure  

# 重啟gitlab
gitlab-ctl restart

 

2)設置定時任務

crontab使用:https://www.cnblogs.com/linagcheng/p/15384800.html

# 每天凌晨2點定時創建備份
# 將一下內容寫入到定時任務中 crontab -e
0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create

# 備份策略建議:
#     本地保留3到7天,在異地備份永久保存

 

3)備份時間的識別

# 備份后的文件類似這樣的形式:1641278530_2022_01_04_10.7.5_gitlab_backup.tar,可以根據前面的時間戳確認備份生成的時間
date  -d  @1641278530

 

二、恢復數據

1)停止數據寫入服務

# 停止數據寫入服務
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

 

2)進行數據恢復並重啟

# 進行恢復
gitlab-rake gitlab:backup:restore BACKUP=1641278530_2022_01_04_10.7.5  # 這個時間戳就是剛剛備份的文件前面的時間戳

# 重啟
gitlab-ctl restart


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM