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
相关推荐
研华科技Advantech9 小时前
案例 | 从离线巡检到在线看护:研华PHM解决方案赋能石油钻井平台智能运维
运维·人工智能·边缘计算
難釋懷9 小时前
Nginx主动健康检查
运维·nginx
ITyunwei098710 小时前
内存溢出报错,实战处理记录
运维·服务器·企业微信
Elastic 中国社区官方博客10 小时前
你的 AI agent 不需要你的 API 密钥:使用 OAuth 2.1 对 Elasticsearch MCP 服务器进行身份验证
大数据·运维·人工智能·elasticsearch·搜索引擎·全文检索
FreeTinker10 小时前
AP AC组网中的远程运维挑战及内网穿透技术应用分析
运维
Huangjin007_11 小时前
【Linux 系统篇(十五)】进程 (三) :进程状态深度详解
linux·运维
RisunJan11 小时前
Linux命令-talk(终端实时对话)
linux·运维·服务器
整点bug12 小时前
AI 运维该不该自动执行命令?
运维·ssh·openai
Kurisu_红莉栖12 小时前
关于docker的使用心得
运维·docker·容器
三言老师13 小时前
Rocky Linux 8.6 整机系统备份与迁移方案文档文档用途
linux·运维·服务器·网络