gitlab每日备份以及restore

gitlab服务有非常简洁的每日备份命令,

从production的gitlab的每日备份中restore到backup环境也非常方便。

一、Production gitlab每日备份

1. Production gitlab环境上编写脚本

cat /root/gitlab_bak.sh

gitlab-rake gitlab:backup:create  >  /var/opt/gitlab/backups/log/$(date +"%Y-%m-%d-%H:%M:%S").log

运行这个脚本,会生成tar包到gitlab配置文件中指定的backup路径。

gitlab配置文件(/etc/gitlab/gitlab.rb)中配置backup路径的部分如下:(默认路径为/var/opt/gitlab/backups)

### Backup Settings
###! Docs: https://docs.gitlab.com/omnibus/settings/backups.html

# gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

​

2. 创建定时任务进行每日备份

0 2 * * * /root/gitlab_bak.sh

二、Backup的gitlab从每日备份中restore

1. Backup gitlab环境上创建脚本

restore脚本如下:

cat gitlab_restore.sh

#!/bin/bash

backup_file=$(ls -t /var/opt/gitlab/backups/*.tar|head -1)
restore_path=/var/opt/gitlab/backups
echo "$(date "+%Y-%m-%d %H:%M:%S") Start restoring from backup file: $backup_file"

# stop db related services
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# prepare the backupfiles to restore path
rm -rf ${restore_path}/*
cp ${backup_file} ${restore_path}/
chmod 777 -R ${restore_path}/*

gitlab-rake gitlab:backup:restore force=yes

gitlab-ctl reconfigure && gitlab-ctl restart

rm -rf ${restore_path}/*

echo "$(date "+%Y-%m-%d %H:%M:%S") End restoring, backup gitlab url: http://xxx"

需要把production备份的/var/opt/gitlab/backups/*.tar 拷贝到backup环境。

2. 运行脚本即可完成restore

注:

注意定期清理路径:/var/opt/gitlab/git-data/repositories/+gitaly/tmp

这个路径会占比较大的空间。可能会导致空间不足,restore失败。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/774274.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

16_更快的速度与精度:Faster R-CNN

回顾R-CNN:链接 回顾Fast R-CNN:链接 1.1 简介 Faster R-CNN是作者Ross Girshick继Fast R-CNN后的又一力作。同样使用VGG16作推理速度在GPU上达到5fps(包括候选区域的生成),准确率为网络的backbone,也有进一步的提升。在2015年的ILSVRC以及COCO竞赛中…

开放式运动耳机推荐的品牌都有哪些?五款2024靠谱机型推荐!

​作为一位耳机领域的资深数码评测师,我极力推荐开放式耳机作为日常佩戴之选。这款耳机凭借其创新的非入耳设计,有效避免了传统入耳式耳机长时间佩戴导致的耳道不适和感染风险,同时提供了稳固舒适的佩戴体验,特别适合运动爱好者如…

Android network - NUD检测机制(Android 14)

Android network - NUD检测机制 1. 前言2. 源码分析2.1 ClientModeImpl2.2 IpClient2.3 IpReachabilityMonitor 1. 前言 在Android系统中,NUD(Neighbor Unreachable Detection)指的是网络中的邻居不可达检测机制,它用于检测设备是…

LVS FILTER UNUSED OPTION

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 过滤一些版图与spice网表对不上的器件。 一般后端遇不到这个问题,因为通常是需要写到网表中的decap没有写出来造成的,如下图。

ceph-volume inventory KeyError: ‘TYPE‘ 处理

是否有人跟我一样碰到这样的情况 执行ceph-volume inventory报错 还好有错误日志可以看 [2024-07-05 11:40:40,540][ceph_volume.process][INFO ] Running command: /usr/sbin/blkid -c /dev/null -p /dev/ceph-c5fd6684-3851-49ab-bd44-f6743a79e24f/osd-block-42d41cd1-82…

半导体切割研磨废水的处理技术

半导体切割研磨废水处理是一个复杂而关键的过程,其废水主要来源于切割、研磨等工艺环节,这些过程中使用的化学品、冷却水、洗涤水等会产生含有重金属、有机物、酸碱度不稳定以及高浓度硅化合物等污染物的废水。针对这些废水的特性,半导体行业…

2025深圳国际消费电子展览会

2025深圳国际消费电子展览会 时间:2025年06月25-27日 地点:深圳国际会展中心(新馆) 详询主办方陆先生 I38(前三位) I82I(中间四位) 9I72(后面四位) 展会介绍: 20…

SRC实战:无中生有的接口和参数

今天分享的这个漏洞怎么说呢,虽然也是个高危,但是其实挺简单的,一个很eazy的越权,但是我觉得多多少少还是有点意思吧。 0x00 这是一个移动端的应用程序,前面比较常规,模拟器 BP,跑了一下所有…

你的机器人购物新体验——安全、高效、无忧

如果你跟我一样,对找到那些“恰到好处”的商品充满渴望,那么,让我来告诉你为什么BFT会成为你的下一个购物“心头好”。 BFT的优势 高效安全的支付体系:BFT交易系统保障了交易的安全性和透明性,让你的每一笔消费都安全…

python解析Linux top 系统信息并生成动态图表(pandas和matplotlib)

文章目录 0. 引言1. 功能2.使用步骤3. 程序架构流程图结构图 4. 数据解析模块5. 图表绘制模块6. 主程序入口7. 总结8. 附录完整代码 0. 引言 在性能调优和系统监控中,top 命令是一种重要工具,提供了实时的系统状态信息,如 CPU 使用率、内存使…

我爱服务器——LVM实战学习

后来呀,天亮之前毕业后踏入服务器领域了。。。。。。 LVM(Logical Volume Manager)是一个高级的磁盘管理框架,它允许用户将多个物理硬盘组合成一个逻辑卷,从而提供更大的存储空间、更高的灵活性和更好的数据管理能力。…

创业新选择:乐财业,让财税事业更简!

在市场需求和国家政策的双重驱动之下,【乐财业智慧财税赋能平台】基于鹦鹉智能财税系统、完善的税务资源供应链,财税专家团等,首创为企业提供“业财税”一体化的一站式财税解决方案,让财税生意更好做。 乐财业通过全国布局线下渠道…

Windows中Git的使用(2024最新版)

Windows中Git的使用 获取ssh keys本地绑定邮箱初始化本地仓库添加到本地缓存区提交到本地缓存区切换本地分支为main关联远程分支推送到GitHub查看推送日志 Git 2020年发布了新的默认分支名称"main",取代了"master"作为主分支的名称。操作有了些…

MySQL数据库主从复制+mycat读写分离+MHA实操

目录 一、主从复制 1.1 主从复制简介 1.2 MySQL支持的复制类型 1.3 主从复制的工作过程 1.4 主从复制的同步模式 1.4.1 异步复制(Asynchronous replication) 1.4.2 全同步复制(Fully synchronous replication) 1.4.3 半同…

React+TS前台项目实战(二十三)-- 基于属性自定义数值显示组件Decimal封装

文章目录 前言Decimal组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天要封装的Decimal 组件,是通过传入的属性进行定制化显示数值,在渲染时,会根据不同的情况显示整数部分、小数部分和单位,支持自定义样式…

Go源码--context包

简介 Context 是go语言比较重要的且也是比较复杂的一个结构体,Context主要有两种功能: 取消信号:包括直接取消(涉及的结构体:cancelCtx ; 涉及函数:WithCancel)和携带截止日期的取消(涉及结构…

【Java安装】windows10+JDK21+IDEA

文章目录 一、JDK安装1. 下载完成后按照自己需要的位置安装2. 配置环境变量2.1 JAVA_HOME变量2.2 PATH配置 3. 验证4. helloworld 二、IDEA安装三、IDEA-HelloWorld 一、JDK安装 JDK安装链接 1. 下载完成后按照自己需要的位置安装 2. 配置环境变量 2.1 JAVA_HOME变量 安装…

JVM原理(三):JVM对象回收判定机制与回收算法

如何判断一个对象是否存活(即是否还分配在堆中),那看他是否还在用。 1. 引用计数算法 这是一种判断方式,相应的方法就是:如果一个对象被引用,那将被引用的对象中的一个计数器加一,引用失效就减一。在任何时刻引用计数…

QT实现GIF动图显示(小白版,可直接copy使用)

需要你自己提前设置好动图的位置&#xff0c;本例中存放于"/Users/PLA/PLA/PLA.gif widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMovie> #include <QLabel>class Widget : public QWidget {Q_OBJECTpublic:explicit Wid…

mssql查询历史执行过的语句日志

SELECT deqs.creation_time,dest.text AS [SQL Text],deqs.execution_count,deqs.total_elapsed_time,deqs.total_worker_time FROM sys.dm_exec_query_stats AS deqs CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest--where dest.text like %这个是我的条件&#…