在CentOS系統中,GitLab的備份和恢復流程主要包括以下幾個步驟:
curl
, openssh-server
, postfix
等。gitlab-ce-omnibus
包安裝GitLab。/etc/gitlab/gitlab.rb
文件,設置備份路徑,例如:gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_archive_permissions'] = 0644
gitlab_rails['backup_keep_time'] = 604800 # 備份保留天數為7天
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:backup:create
/var/opt/gitlab/backups
目錄下。crontab
設置定時任務,例如每天凌晨2點執行備份:0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create
/usr/bin/gitlab-rake
符號鏈接存在,或替換為實際路徑。/etc/gitlab/gitlab.rb
文件中。pg_dump
命令備份數據庫:sudo -u postgres pg_dump -Fc --rolegitlab-psql --passwordYOUR_POSTGRESQL_PASSWORD gitlabhq_production > /backup/gitlab/db_backup.dump
tar
文件:sudo tar -czvf /backup/gitlab/backup.tar.gz /backup/gitlab/
sudo find /backup/gitlab/ -type f -name "*.tar.gz" -mtime 7 -exec rm {} \;
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
tar -xzf gitlab_backup.tar.gz
sudo gitlab-rake gitlab:backup:restore BACKUP=備份文件名
yes
以確認操作。cp -r repositories/* /var/opt/gitlab/git-data/repositories/
sudo gitlab-ctl start
sudo gitlab-ctl restart
gitlab.rb
和 gitlab-secrets.json
配置文件,這些需要手動備份。希望這些信息能幫助您在CentOS系統中成功備份和恢復GitLab。如果有任何問題,請隨時聯系。