一、备份

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的备份与恢复的更多相关文章

  1. gitlab的备份与恢复与迁移

    一.gitlab的备份1.1 创建备份目录,并授权 1 2 3 4 [root@linux-node1 ~]# mkdir /data/backups/gitlab -p [root@linux-no ...

  2. gitlab人备份与恢复

    注意新建备份目录是:/usr/local/src/repositories 属主和属组: # ll -d repositories/ drwx------ git root Feb : reposit ...

  3. GitLab数据备份与恢复

    创建备份 $ sudo gitlab-rake gitlab:backup:create 执行完备份命令后会在/var/opt/gitlab/backups目录下生成备份后的文件,如150080913 ...

  4. docker安装的gitlab的备份与恢复

    1.对docker容器安装gitlab备份 1) 查看容器id docker ps 2) 将容器备份成镜像文件 docker commit -a 'James' -m 'gitlab_backup' ...

  5. Git7:使用Gitlab管理远程仓库

    目录 1.安装 2.gitlab基本配置 3.gitlab的邮件配置 3.1.使用本地的postfix发送邮件 3.2.使用邮件发送模板 3.3.使用腾讯企业邮箱配置发送邮件 3.4.使用163邮箱来 ...

  6. Gitlab服务器维护

    一. 内容 Gitlab服务器的更新 Gitlab服务器备份与恢复 导入Git仓库 二. Gitlab服务器的更新 1. 使用SSH登陆Gitlab服务器 2. 停止后端的unicorn服务器 [ro ...

  7. ubuntu16部署gitlab

    一.gitlab的安装 1. 安装依赖包 $ sudo apt-get update #如无ssh还需安装openssh-server $ sudo apt-get install postfix c ...

  8. gitlab升级备份

    一.备份有关备份和恢复的操作,详见我的另一篇博客:Gitlab的备份与恢复在开始升级之前,一定要做好备份工作,并记录好版本号.1.查看当前Gitlab的版本号 [root@gitlab ~]# cat ...

  9. Jenkins&&gitlab

    DevOps 强调整个组织的合作以及交付和基础设施变更的自动化 gitlab下载: 下载地址: https://docs.gitlab.com/ee/install/requirements.html ...

  10. Github版本管理以及git使用

    1.git客户端编译安装 同步系统时间服务器 ntpdate cn.ntp.org.cn 安装依赖包: [root@baolin ~]# yum install epel-release -y [ro ...

随机推荐

  1. QT数据可视化框架编程实战之三维曲面图 实时变化的三维曲面图 补天云QT技术培训专家

    QT数据可视化框架编程实战之三维曲面图 实时变化的三维曲面图 补天云QT技术培训专家 简介 本文将介绍QT数据可视化框架编程实战之三维曲面图,本文通过构造一个数据实时变化的三维曲面图的应用实例来展示Q ...

  2. P4036 [JSOI2008] 火星人

    #include <bits/stdc++.h> #define int long long using namespace std; int len; int m; int rt = 0 ...

  3. 《Vue.js 设计与实现》读书笔记 - 第15章、编译器核心技术概览

    第15章.编译器核心技术概览 15.1 模板 DSL 的编译器 完整的编译包括 [源代码] -->词法分析-->语法分析-->语义分析(编译前端) -->中间代码生成--> ...

  4. php生成验证码类

    php生成验证码类 直接看代码 <?php session_start(); class Code{ //资源 private $img; //画布宽度 private $width=100; ...

  5. url 统一资源定位符的组成

    协议 protocol :http 或者 https = http + ssl  或者 file 文件(本地): 域名 host 或 ip 地址: 端口 port 省略默认 80  : 路径 path ...

  6. 收到offer之后的回复术语

    不去: 您好,非常荣幸能收到贵岗的offer, 感谢您对我能力的认可,但贵公司岗位要求/薪资结构和我预想还有一定的差距,希望今后有共事的机会,祝您工作顺利!   去: 您好,非常荣幸能够收到贵公司的o ...

  7. 修改文件的所有者失败(chown: changing ownership of `uploads': Operation not permitted)

    在项目开发的时候,经常需要将文件上传到指定的目录下. 例如这次用thinkphp5的时候,需要在public目录下建立uploads目录用于存放上传的资源. 首先在命令窗口下输入: 1 mkdir u ...

  8. 学习JavaScript第三天

    文章目录 1.数组 1.1创建数组 1.2数组方法 1.3数组遍历 2.函数 2.1函数的定义 2.2函数的参数以及返回值 2.3函数的作用域 2.4函数传参 3.对象 1.数组 在JavaScrip ...

  9. Go语言学习 _基础02 _条件表达式、分支、循环

    Go语言学习 _基础02 _条件表达式.分支.循环 条件表达式和switch package condition import "testing" func TestCondict ...

  10. Selenium操作:测试form表单

    from表单是经常测试的用例,用户登录.注册等都会用到form表单,本文简单设计了一个用户登录的form表单,并对该form表单进行测试 一.自定义form表单 1.用到的组件 如下图,图中定义了一个 ...