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
相关推荐
djjjx.2 分钟前
Linux进程篇(四):内核托底与生死交错 ,深度硬核剖析“僵尸”与“孤儿”进程
linux·运维·服务器
m0_646429977 分钟前
VS Code Remote SSH 使用 Codex:通过 SSH 转发本地代理
运维·ssh
会写代码的青蛙14 分钟前
青蛙自动化
运维·自动化
AR-26710-1 小时前
Linux Day22——复习第三部分
linux·运维
迪康coolmu1 小时前
基于迪康端点安全一体化管理系统的公用终端上机与信创补丁实战
linux·运维·服务器·网络·安全·电脑
发量惊人的中年网工1 小时前
多分支网络怎样集中运维?SD-WAN监控、报障与服务范围指南
运维·网络
承渊政道1 小时前
极空间部署Portainer实战:Docker Socket、9000端口、容器管理与固定地址访问
运维·docker·容器·内网穿透·cpolar·portainer
Shadow(⊙o⊙)1 小时前
仿muduo实现高并发服务器——EPOLL设置与移除Poller.hpp管理Channel
运维·服务器·c++
.冰块.1 小时前
VMware+Ubuntu24.04 kubeadm 部署 K8s 1.30.2 三节点集群
运维·云原生·容器·kubernetes·k8s·容器编排
Vitaliy Kostrov(柯维远)1 小时前
客户端如何检查直播流:从流内标记到停止播放
android·运维·服务器·驱动开发·网络安全·系统架构·cdn