GitLab的备份与恢复
一、备份
1. docker执行备份
docker exec gitlab gitlab-rake gitlab:backup:create
默认将备份文件保存至docker的/var/opt/gitlab/backups/ 目录
这条命令是在 Docker 容器内部执行 GitLab 的备份操作。让我来解释一下这个命令的各个部分:
docker exec:这是 Docker 命令,用于在正在运行的容器内部执行命令。
gitlab:指定要操作的容器名称或 ID,即运行 GitLab 服务的容器。
gitlab-rake gitlab:backup:create:这部分是在 GitLab 容器内部执行的实际命令。具体来说:
gitlab-rake:是 GitLab 提供的用于管理数据库和执行其他任务的命令行工具。
gitlab:backup:create:是使用 gitlab-rake 工具创建 GitLab 数据库备份的命令。
通过执行这条命令,GitLab 将会在容器内部创建一个数据库备份。这样可以确保数据的安全性和可恢复性。
执行完会有一个警告
Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data
and are not included in this backup. You will need these files to restore a backup.
Please back them up manually.
这个警告是在执行 GitLab 备份时提醒您,备份文件中不包含 gitlab.rb 和 gitlab-secrets.json 这两个文件,这两个文件包含了敏感数据,例如配置信息和加密密钥,因此在恢复备份时需要手动备份这两个文件。
为了确保完整的备份和恢复过程,请务必手动备份 gitlab.rb 和 gitlab-secrets.json 文件。
2. 备份敏感数据
docker cp gitlab:/var/opt/gitlab/backups/1709697433_2024_03_06_13.6.2_gitlab_backup.tar /data/gitlab-bak/
docker cp gitlab:/etc/gitlab/gitlab.rb /data/gitlab-bak/
docker cp gitlab:/etc/gitlab/gitlab-secrets.json /data/gitlab-bak/
备份完成
二、数据的恢复
我们启动新的容器,然后将刚才备份的文件拷贝到容器里,后面两个文件直接覆盖即可
docker cp /data/gitlab-bak/1709697433_2024_03_06_13.6.2_gitlab_backup.tar gitlab:/var/opt/gitlab/backups/
docker cp /data/gitlab-bak/gitlab-secrets.json gitlab:/etc/gitlab/
docker cp /data/gitlab-bak/gitlab.rb gitlab:/etc/gitlab/
拷贝完之后,我们进入容器,进入备份目录,执行如下命令
docker exec -it gitlab bash
gitlab-rake gitlab:backup:restore BACKUP=1709697433_2024_03_06_13.6.2
如果没有权限,则执行
chmod 777 文件名
恢复之后,我们重新加载配置,并重启gitlab
gitlab-ctl reconfigure
gitlab-ctl restart
GitLab的备份与恢复的更多相关文章
- gitlab的备份与恢复与迁移
一.gitlab的备份1.1 创建备份目录,并授权 1 2 3 4 [root@linux-node1 ~]# mkdir /data/backups/gitlab -p [root@linux-no ...
- gitlab人备份与恢复
注意新建备份目录是:/usr/local/src/repositories 属主和属组: # ll -d repositories/ drwx------ git root Feb : reposit ...
- GitLab数据备份与恢复
创建备份 $ sudo gitlab-rake gitlab:backup:create 执行完备份命令后会在/var/opt/gitlab/backups目录下生成备份后的文件,如150080913 ...
- docker安装的gitlab的备份与恢复
1.对docker容器安装gitlab备份 1) 查看容器id docker ps 2) 将容器备份成镜像文件 docker commit -a 'James' -m 'gitlab_backup' ...
- Git7:使用Gitlab管理远程仓库
目录 1.安装 2.gitlab基本配置 3.gitlab的邮件配置 3.1.使用本地的postfix发送邮件 3.2.使用邮件发送模板 3.3.使用腾讯企业邮箱配置发送邮件 3.4.使用163邮箱来 ...
- Gitlab服务器维护
一. 内容 Gitlab服务器的更新 Gitlab服务器备份与恢复 导入Git仓库 二. Gitlab服务器的更新 1. 使用SSH登陆Gitlab服务器 2. 停止后端的unicorn服务器 [ro ...
- ubuntu16部署gitlab
一.gitlab的安装 1. 安装依赖包 $ sudo apt-get update #如无ssh还需安装openssh-server $ sudo apt-get install postfix c ...
- gitlab升级备份
一.备份有关备份和恢复的操作,详见我的另一篇博客:Gitlab的备份与恢复在开始升级之前,一定要做好备份工作,并记录好版本号.1.查看当前Gitlab的版本号 [root@gitlab ~]# cat ...
- Jenkins&&gitlab
DevOps 强调整个组织的合作以及交付和基础设施变更的自动化 gitlab下载: 下载地址: https://docs.gitlab.com/ee/install/requirements.html ...
- Github版本管理以及git使用
1.git客户端编译安装 同步系统时间服务器 ntpdate cn.ntp.org.cn 安装依赖包: [root@baolin ~]# yum install epel-release -y [ro ...
随机推荐
- QT数据可视化框架编程实战之三维曲面图 实时变化的三维曲面图 补天云QT技术培训专家
QT数据可视化框架编程实战之三维曲面图 实时变化的三维曲面图 补天云QT技术培训专家 简介 本文将介绍QT数据可视化框架编程实战之三维曲面图,本文通过构造一个数据实时变化的三维曲面图的应用实例来展示Q ...
- P4036 [JSOI2008] 火星人
#include <bits/stdc++.h> #define int long long using namespace std; int len; int m; int rt = 0 ...
- 《Vue.js 设计与实现》读书笔记 - 第15章、编译器核心技术概览
第15章.编译器核心技术概览 15.1 模板 DSL 的编译器 完整的编译包括 [源代码] -->词法分析-->语法分析-->语义分析(编译前端) -->中间代码生成--> ...
- php生成验证码类
php生成验证码类 直接看代码 <?php session_start(); class Code{ //资源 private $img; //画布宽度 private $width=100; ...
- url 统一资源定位符的组成
协议 protocol :http 或者 https = http + ssl 或者 file 文件(本地): 域名 host 或 ip 地址: 端口 port 省略默认 80 : 路径 path ...
- 收到offer之后的回复术语
不去: 您好,非常荣幸能收到贵岗的offer, 感谢您对我能力的认可,但贵公司岗位要求/薪资结构和我预想还有一定的差距,希望今后有共事的机会,祝您工作顺利! 去: 您好,非常荣幸能够收到贵公司的o ...
- 修改文件的所有者失败(chown: changing ownership of `uploads': Operation not permitted)
在项目开发的时候,经常需要将文件上传到指定的目录下. 例如这次用thinkphp5的时候,需要在public目录下建立uploads目录用于存放上传的资源. 首先在命令窗口下输入: 1 mkdir u ...
- 学习JavaScript第三天
文章目录 1.数组 1.1创建数组 1.2数组方法 1.3数组遍历 2.函数 2.1函数的定义 2.2函数的参数以及返回值 2.3函数的作用域 2.4函数传参 3.对象 1.数组 在JavaScrip ...
- Go语言学习 _基础02 _条件表达式、分支、循环
Go语言学习 _基础02 _条件表达式.分支.循环 条件表达式和switch package condition import "testing" func TestCondict ...
- Selenium操作:测试form表单
from表单是经常测试的用例,用户登录.注册等都会用到form表单,本文简单设计了一个用户登录的form表单,并对该form表单进行测试 一.自定义form表单 1.用到的组件 如下图,图中定义了一个 ...