gitlab安装备份和恢复

一、Gocron使用定时器备份gitlab

1、通过定时器备份gitlab

安装参考链接: https://www.cnblogs.com/jjwiki/p/18959848

2、通过系统工具执行任务

通过 crontab -e 设置定时任务(例如每天凌晨2点执行):
0 2 * * * /opt/scripts/gitlab_backup.sh

3、备份命令

创建 GitLab 备份
sudo gitlab-rake gitlab:backup:create

# 使用 rsync 同步备份文件(跳过已存在的 .tar 文件)
# rsync -av --ignore-existing /var/opt/gitlab/backups/*2025_07*.tar 192.168.8.112:/data/backup/gitlab/
rsync -av --ignore-existing /var/opt/gitlab/backups/*$(date +%Y_%m)*.tar 192.168.8.112:/data/backup/gitlab/
# 同步配置文件(始终更新为最新版本)
rsync -av /etc/gitlab/gitlab.rb 192.168.8.112:/data/backup/gitlab/
rsync -av /etc/gitlab/gitlab-secrets.json 192.168.8.112:/data/backup/gitlab/
0 0 2 * 7
sudo gitlab-rake gitlab:backup:create
scp /etc/gitlab/gitlab.rb  192.168.8.112:/data/backup/gitlab
scp /etc/gitlab/gitlab-secrets.json 192.168.8.112:/data/backup/gitlab
scp  /var/opt/gitlab/backups/*2025_07*.tar    192.168.8.112:/data/backup/gitlab

二、安装gitlab13.12.15

1、下载gitlab

https://packages.gitlab.com/app/gitlab/gitlab-ce/search?dist=ubuntu&filter=debs&page=1&q=1

2、安装依赖

sudo yum install -y curl openssh-server ca-certificates postfix file git build-essential
##签名出错强制安装
rpm -ivh gitlab-ee-13.12.10-ee.el7.x86_64.rpm --nodeps --force

3、配置Gitlab域名

[root@gitlab-haitang ~]# vim /etc/gitlab/gitlab.rb 
external_url 'http://gitlab.haitang.local'

4、重新载入配置验证结果

# 重新载入配置文件
sudo gitlab-ctl reconfigure
# 启动查看
gitlab-ctl start
gitlab-ctl status
netstat -tnlp

三、还原备份文件

1、停止相关服务

gitlab-ctl stop puma && gitlab-ctl stop sidekiq && gitlab-ctl stop nginx && gitlab-ctl status

2、将备份的压缩包拷贝到备份目录

cd /data/backup/gitlab/
ls
mv 1751565890_2025_07_04_13.12.10-ee_gitlab_backup.tar /var/opt/gitlab/backups/

3、还原配置文件

cp /data/backup/gitlab/gitlab.rb  /etc/gitlab/gitlab.rb
cp /data/backup/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json

4、还原备份的项目

#注意还原的时候把ee版本带上
gitlab-rake gitlab:backup:restore BACKUP=1751565890_2025_07_04_13.12.10-ee
#还原的时候输入两边yes等待结束即可

5、重新载入配置重启服务

gitlab-ctl reconfigure &&gitlab-ctl restart
#如果ip地址发生变化,请修改配置文件后,重新载入配置,重启服务
vi /etc/gitlab/gitlab.rb
修改约第32行配置文件
gitlab-ctl reconfigure &&gitlab-ctl restart

6、启动查看运行状态

gitlab-ctl status
netstat -tnlp
posted @ 2025-07-07 16:30  youemby  阅读(24)  评论(0)    收藏  举报