gitlab备份与恢复

查看gitlab版本

bash 复制代码
gitlab-rake gitlab:env:info
新旧 GitLab 版本必须一致,不然恢复的时候会报错

一、备份

1.备份命令

bash 复制代码
sudo gitlab-backup create
备份完成后,备份存放的默认目录在/var/opt/gitlab/backups/下

可以通过查看以下配置文件,知道备份文件目录
cat /etc/gitlab/gitlab.rb
gitlab_rails['manage_backup_path'] = true                           # 开启GitLab备份功能
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"        # 指定备份路径
gitlab_rails['backup_archive_permissions'] = 0644            # 备份文件权限
gitlab_rails['backup_keep_time'] = 604800                 # 备份保留时间,默认为7天,默认单位秒

2.备份以下目录中的密钥文件

bash 复制代码
/etc/gitlab/gitlab-secrets.json

二、恢复

1.将新的gitlab服务部署完成并开启后,拷贝之前的备份到本机器中

bash 复制代码
cp 1699958400_*.tar /var/opt/gitlab/backups/
chown git:git /var/opt/gitlab/backups/*.tar

2.恢复备份之前需要先停止以下服务,不然恢复时会报错

bash 复制代码
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq

3.执行以下命令恢复备份

bash 复制代码
sudo gitlab-backup restore BACKUP=1699958400_2025_12_14_15.6.2

过程中会提示:

Do you want to continue (yes/no)?


输入:

yes

4.恢复完成后把gitlab-secrets.json密钥文件放到以下目录中

bash 复制代码
/etc/gitlab

5.执行以下命令重新加载gitlab服务即可

bash 复制代码
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
相关推荐
!沧海@一粟!几秒前
VMware升级操作指南与常见问题
linux·运维·服务器
火车叼位21 分钟前
Docker 全量备份恢复实战:可离线、可迁移、可复原的标准方案
运维·docker
IMPYLH26 分钟前
Linux 的 base32 命令
linux·运维·服务器·bash·shell
不知名。。。。。。。。38 分钟前
仿muduo库实现高并发服务器---监听描述符Acceptor模块
运维·服务器
CDN36044 分钟前
运维笔记|360CDN高防服务器部署教程,抗D+源站防护一站式配置
运维·服务器·笔记
荆楚闲人1 小时前
ubuntu下实现自动以root用户开机无密码方式进入桌面
linux·运维·ubuntu
Insist7531 小时前
Kingbase--单机部署完整流程
运维·数据库
zuoerjinshu2 小时前
Nginx实现接口复制
运维·nginx·junit
陈皮糖..2 小时前
Ansible实战教程----使用Ansible角色源码编译部署nginx服务
linux·运维·nginx·自动化·云计算·ansible