Gitlab 数据备份全攻略:命令、方法与注意事项
文章目录
- 1、备份命令
- 2、备份目录名称说明
- 3、手工备份配置文件
- 3.1 备份配置文件
- 3.2 备份ssh文件
- 4、备份注意事项
- 4.1 停止puma和sicdekiq组件
- 4.2 copy策略需要更多磁盘空间
- 5、数据备份方法
- 5.1 docker命令备份
- 5.2 kubectl命令备份
- 5.3 参数说明
- 5.4、选择性备份
- 5.5、非tar备份
- 5.6、定时备份
1、备份命令
可以使用如下命令进行GitLab的备份:
gitlab-backup create(GitLab 12.1之后版本新增)
gitlab-rake gitlab:backup:create (GitLab 12.1及之前版本,之后也可以用)
备份默认生成的tar归档文件
2、备份目录名称说明
| 名称 | 说明 |
|---|---|
| db | 数据库数据内容 |
| uploads | 附件数据备份 |
| repositories | Git仓库数据备份 |
| builds | CI Job输入日志等数据备份 |
| artifacts | CI Job构件数据备份 |
| lfs | LFS对象数据备份 |
| registry | 容器镜像备份 |
| pages | GitLab Pages content数据备份 |
3、手工备份配置文件
3.1 备份配置文件
提示了由于安全的关系如下的配置文件需要手工去备份:
/etc/gitlab/gitlab-secrets.json
/etc/gitlab/gitlab.rb
示例:kubectl exec -it gitlab-7d7d97d574-5w88f – gitlab-ctl backup-etc

查看pod挂载到本地的目录路径里是否有gitlab_config_1677288885_2023_02_25.tar

3.2 备份ssh文件
需要登录到容器里进行备份,或者将/etc/ssh在yaml文件里直接写好挂载,示例备份:


通过持载的目录找到在本地为如下示例:

4、备份注意事项
4.1 停止puma和sicdekiq组件
为了保证备份的安全性和完整性,备份时最好停止puma和sicdekiq组件,或者尽量找数据量变化小的时段进行备份,以免造成数据不一致。
Kubectl示例:kubectl exec -it gitlab-7d7d97d574-5w88f – gitlab-ctl stop puma

docker示例:

4.2 copy策略需要更多磁盘空间
采用copy策略进行备份时会占用额外的一倍空间,因此采用此方式进行备份时需要保证磁盘剩余的空间是已经占用空间的2倍及以上
5、数据备份方法
5.1 docker命令备份
- Docker exec -it gitlab-name /bin/bsh进入到容器里面
- 执行gitlab-rake gitlab:backup:create STRATEGY=copy 或
Gitlab-backup create STRATEGY=copy - 直接执行:docker exec -it gitlab-name gitlab-rake gitlab:backup:create STRATEGY=copy
- 会在~$HOME/backups/查看到备份的数据文件,示例如下:


5.2 kubectl命令备份
kubectl exec -it gitlab-7d7d97d574-5w88f gitlab-rake gitlab:backup:create STRATEGY=copy
示例如下:

5.3 参数说明
STRATEGY=copy表示能在线数据备份时,如果数据变化过快,会导致备份命令报错, 此copy策略可以很好的解决这个问题。
5.4、选择性备份
参数:SKIP=xx,xx
跳过备份对分对像,可跳过的对像主要有db、uplads、artifacts 、lfs 、terraform_state 、registry 、pages、repositories、packages
示例:
使用gitlab-rake
kubectl exec -it gitlab-7d7d97d574-5w88f gitlab-rake – gitlab:backup:create SKIP=db STRATEGY=copy

使用gitlab-backup
kubectl exec -it gitlab-7d7d97d574-5w88f – gitlab-backup create SKIP=db STRATEGY=copy

5.5、非tar备份
备份时创建tar文件是备份最后一步,打包会消耗额外时间,在某些情况下采用不打包的方式会更加方便备份和恢复。
示例:
kubectl exec -it gitlab-7d7d97d574-5w88f – gitlab-backup create SKIP=tar STRATEGY=copy


5.6、定时备份
Gitlab默认没有定时备份机制,需要借助crontab来完成,如下:
示例:
*/2 * * * * kubectl exec -it gitlab-7d7d97d574-5w88f -- gitlab-backup create SKIP=tar STRATEGY=copy CRON=1
相关文章:
Gitlab 数据备份全攻略:命令、方法与注意事项
文章目录 1、备份命令2、备份目录名称说明3、手工备份配置文件3.1 备份配置文件3.2 备份ssh文件 4、备份注意事项4.1 停止puma和sicdekiq组件4.2 copy策略需要更多磁盘空间 5、数据备份方法5.1 docker命令备份5.2 kubectl命令备份5.3 参数说明5.4、选择性备份5.5、非tar备份5.6…...
Vue|scoped样式
在 Vue.js 中,scoped 是一个非常有用的特性,允许你将样式限制在当前组件的作用域内,避免样式泄漏到其他组件。它是通过 Vue 的单文件组件(.vue 文件)中的 <style> 标签实现的。 目录 案例演示创建多个vue文件如何…...
eBPF试一下(TODO)
eBPF程序跟踪linux内核软中断 eBPF (Extended Berkeley Packet Filter) 是一种强大的 Linux 内核技术,最初用于网络数据包过滤,但现在它已经扩展到了多个领域,如性能监控、安全性、跟踪等。eBPF 允许用户在内核中执行代码(以一种安…...
【数据安全】如何保证其安全
数据安全风险 数字经济时代,数据已成为重要的生产要素。智慧城市、智慧政务的建设,正以数据为核心,推动城市管理的智能化和公共服务的优化。然而,公共数据开放共享与隐私保护之间的矛盾日益凸显,如何在确保数据安全的…...
[创业之路-196]:华为成功经验的总结与教训简单总结
目录 前言: 成功经验 教训归纳 前言: 华为作为世界领先的通信设备制造商,其成功经验与教训值得深入探讨。 以下是对华为成功经验的总结与教训的归纳: 成功经验 战略定位明确: 华为始终坚持“死死抓住核心技术”…...
使用 NVIDIA DALI 计算视频的光流
引言 光流(Optical Flow)是计算机视觉中的一种技术,主要用于估计视频中连续帧之间的运动信息。它通过分析像素在时间维度上的移动来预测运动场,广泛应用于目标跟踪、动作识别、视频稳定等领域。 光流的计算传统上依赖 CPU 或 GP…...
【UE5】pmx导入UE5,套动作。(防止“气球人”现象。
参考视频:UE5Animation 16: MMD模型與動作導入 (繁中自動字幕) 问题所在: 做法记录(自用) 1.导入pmx,删除这两个。 2.转换给blender,清理节点。 3.导出时,内嵌贴图,选“复制”。 …...
vue预览和下载 pdf、ppt、word、excel文档,文件类型为链接或者base64格式或者文件流,
** 方法1:word、xls、ppt、pdf 这些文件, 如果预览的文件是链接可以直接打开,可用微软官方的预览地址 ** <iframe width"100%" :src"textVisibleURl " id"myFramePPT" style"border: none;backgroun…...
前端如何实现大文件上传
在前端实现大文件上传的主要方法包括分片上传、断点续传、WebSocket上传和通过第三方服务上传。 分片上传:将大文件切割成多个小片段,然后分别上传。可以使用HTML5的File API和Blob对象,通过FileReader读取文件内容,然后使…...
如何评估并持续优化AI呼入机器人的使用效果
如何评估并持续优化AI呼入机器人的使用效果 作者:开源呼叫中心FreeIPCC 随着人工智能技术的快速发展,AI呼入机器人在客户服务、技术支持等多个领域得到了广泛应用。这些智能系统不仅提高了工作效率,降低了运营成本,还显著改善了…...
找不同,找原因
Yes, you can use “by the time I get back to it” instead of “get around to it,” but there’s a slight difference in tone and meaning: • “Get around to it” implies finally finding the time or motivation to do something after delaying or procrastina…...
OpenCV 学习记录:首篇
最近在学习机器视觉,希望能通过记录博客的形式来鞭策自己坚持学完,同时也把重要的知识点记录下来供参考学习。 1. OpenCV 介绍与模块组成 什么是 OpenCV? OpenCV (Open Source Computer Vision Library) 是一个开源的计算机视觉和机器学习软…...
Java项目常见基础问题汇总
在 Feign 的实现下,我们只需创建一个接口并使用注解的方式来配置它RESTful API 与 SOAP、GraphQL 等其他 API 设计方式各有优劣,发者应根据具体业务需求选择合适的架构Dubbo开始于电商系统,大公司在OSI网络通信模型中,RPC跨越了传…...
git 删除鉴权缓存及账号信息
在Windows系统下 清除凭证管理器中的Git凭据 按下Win R键,打开“运行”对话框,输入control,然后回车,打开控制面板。在控制面板中找到“用户账户”,然后点击“凭据管理器”。在凭据管理器中,找到“Windows…...
Windows中运行Linux(WSL)
Windows Subsystem for Linux(WSL)是一个在Windows 10和更高版本上运行Linux二进制可执行文件(ELF格式)的兼容层。它允许你在Windows上直接运行Linux环境,包括大多数命令行工具、实用程序和应用程序,无需修…...
一键尺寸测量仪:磁芯尺寸测量的优选方案
由于风电、新能源汽车、机器人、工业自动化和无线充电等下游应用领域的快速发展,磁性材料行业近年来产值不断扩大,全球磁性材料市场规模在2022年突破了350亿美元,中国市场规模达800亿元人民币。特别是电子行业,无线充电技术、电感…...
[创业之路-197]:华为的发展路径启示
目录 前言: 一、由小公司走向大公司: 二、由农村包围城市: 三、由国内走向国际: 四、由代理商走向设备商,再到系统方案商,再到生态系统的搭建: 五、由随性到跟随,到赶超&#…...
【计算机网络】lab2 Ethernet(链路层Ethernet frame结构细节)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀计算机网络_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2.…...
路径规划之启发式算法之二十:麻雀搜索算法(Sparrow Search Algorithm,SSA)
麻雀搜索算法(Sparrow Search Algorithm,SSA)是一种受麻雀觅食和反捕食行为启发的新型的群智能优化算法,它模拟了麻雀种群的觅食行为和反捕食行为的生物学群体特征。该算法由薛建凯在2020年首次提出,旨在解决全局优化问题,具有求解精度高、效率高等特点。 一、算法原理 S…...
音频开发中常见的知识体系
在 Linux 系统中,/dev/snd 目录包含与声音设备相关的文件。每个文件代表系统中的一部分音频硬件或音频控制接口。以下是你列出的文件及其含义: 一.基本术语 样本长度(sample):样本是记录音频数据最基本的单位,计算机对每个通道采…...
基于谐波补偿的多环路控制双向DC-AC逆变器建模
目录 手把手教你学Simulink——基于谐波补偿的多环路控制双向DC-AC逆变器建模 一、背景与挑战 1.1 为什么需要“谐波补偿多环路”? 1.2 核心痛点与设计目标 二、系统架构与核心控制推导 2.1 整体架构:主环路 谐波补偿环路的“分工合作” 2.2 核心…...
告别混乱的SVN日志!保姆级教程:用TortoiseSVN图形界面导出清晰可读的变更记录(含过滤与导出选项详解)
高效管理SVN变更记录:TortoiseSVN图形界面全攻略 在团队协作开发中,版本控制系统扮演着至关重要的角色。SVN(Subversion)作为集中式版本控制的代表,其提交日志记录了项目的完整演进历程。然而,面对杂乱无章…...
别让电源拖后腿!手把手教你用Sigrity PowerDC搞定PCB直流压降仿真(附HyperLynx SPD转换指南)
电源完整性实战:从零掌握Sigrity PowerDC直流压降仿真全流程 在高速PCB设计中,电源网络的稳定性往往决定了整个系统的可靠性。想象一下这样的场景:一款精心设计的硬件产品在实验室测试时频繁出现异常重启,经过两周的排查最终定位到…...
开源GA数据代理:安全高效获取Google Analytics数据的工程实践
1. 项目概述:一个开源的Google Analytics数据代理 如果你正在开发一个需要接入Google Analytics(GA)数据的应用,无论是内部的数据看板、营销分析工具,还是客户报告系统,你大概率都遇到过同一个难题&#x…...
微信网页版访问技术突破:基于请求伪装的多浏览器兼容解决方案
微信网页版访问技术突破:基于请求伪装的多浏览器兼容解决方案 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 微信网页版访问限制一直是开…...
Arm Streamline性能分析工具在嵌入式Linux开发中的应用
1. Arm Streamline性能分析工具概述在嵌入式Linux开发领域,性能优化始终是开发者面临的核心挑战之一。Arm Streamline作为专为Arm架构设计的性能分析工具,提供了从应用层到内核层的全栈性能监控能力。与传统的perf工具相比,Streamline的最大优…...
点云与轨迹对齐:从经典算法到实际挑战的深度解析
1. 点云与轨迹对齐的核心挑战 想象一下你手里有两张不同角度拍摄的乐高城堡照片,现在需要把它们完美拼接起来。这就是点云对齐要解决的问题——找到两组三维数据之间的最佳变换关系。在机器人导航、自动驾驶和三维重建中,这个技术直接影响着定位精度和地…...
ArcGIS Pro 10.8 加载天地图WMTS服务,解决偏移问题的完整配置流程
ArcGIS Pro 10.8 精准集成天地图WMTS服务的全流程解析与偏移修正方案 在专业地理信息处理领域,底图数据的精准配准直接影响空间分析的可靠性。作为国内权威地理信息平台,天地图提供的WMTS服务因其标准化接口和权威数据源,成为GIS工程中的首选…...
Unity 2D游戏开发:用Cinemachine 2D Camera实现平滑镜头跟随,告别手动写代码
Unity 2D游戏开发:用Cinemachine 2D Camera实现平滑镜头跟随,告别手动写代码 在2D游戏开发中,摄像机跟随是最基础却又最容易出问题的功能之一。很多开发者习惯用代码手动控制摄像机的位置更新,却常常陷入边界抖动、跟随延迟不自然…...
彩色血流成像(三):滤波
文章目录1回波信号1.1 杂波信号1.2血流信号1.3噪声信号1.4回波信号模拟方法2滤波目的3滤波限制4滤波算法5高通数字滤波器5.1单一回波抵消器5.2FIR滤波器5.3IIR滤波器 无限冲激响应滤波器定义:实现缺点:5.4回归滤波器5.5优化6参数化方法7非参数化方法7.1特…...
