在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的基本步骤和注意事项,希望对您有所帮助。