当前位置: 首页 > news >正文

linux上gitlab备份与还原

三 Gitlab备份

1.gitlab安装

1.1 添加镜像地址

添加镜像地址的目的是为了提高国内用户软件下载的速度,编辑(新建)文件gitlab-ce.repo,指令:

vi /etc/yum.repos.d/gitlab-ce.repo

复制

输入:

[gitlab-ce]
name=gitlab-ce
# 清华大学的镜像源
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
1.2 安装依赖

依次输入以下指令

# 安装和配置openssh
sudo yum install curl policycoreutils-python openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
# 安装和配置邮件服务
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
1.3 安装gitlab指定版本14.0.0
curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.0.0-ce.0.el7.x86_64.rpm

在这里插入图片描述

在这里插入图片描述

安装:

rpm -i gitlab-ce-14.0.0-ce.0.el7.x86_64.rpm

警告:gitlab-ce-14.0.0-ce.0.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID f27eab47: NOKEY

在这里插入图片描述

1.4 配置gitlab
sudo gitlab-ctl reconfigure

在这里插入图片描述

1.5 更改GitLab端口,

编辑文件gitlab.rb:

vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.20.247:8091' nginx['listen_port'] = 8091 nginx['listen_https'] = false

更改nigx端口,编辑文件gitlab-http.conf:

vim /var/opt/gitlab/nginx/conf/gitlab-http.confserver {
listen *:8091;
server_name 47.110.230.147;
...
if ($http_host = "") {set $http_host_with_default "47.110.230.147:8091";
}
}

在这里插入图片描述

在这里插入图片描述

保存修改,执行以下指令:

gitlab-ctl reconfigure
1.6 启动并访问

启动GitLab:

gitlab-ctl restart#停止gitlab
gitlab-ctl stop

在这里插入图片描述

对应端口放行

sudo firewall-cmd --permanent --zone=public --add-port=8091/tcp sudo firewall-cmd --reload

查看默认的账号密码

vi /etc/gitlab/initial_root_password

在这里插入图片描述

2.gitlab备份还原

  • 特别注意:

· 备份目录和gitlab.rb中定义的备份目录必须一致

· GitLab的版本和备份文件中的版本必须一致,否则还原时会报错。

在这里插入图片描述

执行下备份命令

gitlab-rake gitlab:backup:restore BACKUP=/var/opt/gitlab/backups/1676883915_2023_02_20_14.0.0

注意:后面文件名称不用加_gitlab_backup.tar

在这里插入图片描述

在这里插入图片描述

中途输入两次yes

备份完后,可以看出已经还原成功

在这里插入图片描述

3.备份策略(每天23:30都进行备份作业)

  • 修改备份的路径和备份的策略

    输入配置修改对应的路径

    vim /etc/gitlab/gitlab.rb
    
    gitlab_rails['manage_backup_path'] = true
    #备份的路径
    gitlab_rails['backup_path'] = "/home/gitlab/backups"
    #生成的备份文件权限
    gitlab_rails['backup_archive_permissions'] = 0644
    #保留文件7天
    gitlab_rails['backup_keep_time'] = 604800

    保存并退出

  • 更改完成后重载配置文件

gitlab-ctl reconfigure

执行备份命令

gitlab-backup create

可以看到我们备份已经成功了

在这里插入图片描述

设置脚本

touch gitlab.shchmod 777 gitlab.sh
vi gitlab.sh

#输出一下内容

#!/bin/bash     
echo '开始执行gitlab备份'
gitlab-backup create
echo 'gitlab备份结束'DATE=`date +%Y%m%d`            #定义时间的格式,注意需要反引号。       
REMOTEDIR=/home/backups/gitlab #远程本地服务器地址路径localData=/var/opt/gitlab/backups   #本机数据地址路径
echo "开始进行gitlab数据迁移到本地服务器"
expect << EOF
set timeout -1
spawn scp -P 85-r $localData  root@112.94.31.288:$REMOTEDIR/$DATE
expect eof
exit
EOF
echo "数据gitlab迁移到本地服务器结束"
crontab -e

输入备份的时间(每天23:30都进行备份作业)

30 23 * * * /home/backups/gitlab/gitlab.sh > /tmp/gitlab.log 2>&1
crontab -l

本地服务器也要设置时间脚本

touch date.sh

脚本内容

#!/bin/bash     
echo '开始新建目录'
DATE=`date +%Y%m%d`            #定义时间的格式,注意需要反引号。
DIR=/home/backups/gitlab      #这里定义创建文件夹的地址。
mkdir  -p  $DIR/$DATE          #创建文件夹的语句,把上面两个变量引用进来。
echo '新建目录完成'

打开定时任务

crontab -e

输入备份时间

29 23 * * *  /home/backups/gitlab/date.sh > /tmp/gitlab.log 2>&1
crontab -l

相关文章:

linux上gitlab备份与还原

三 Gitlab备份 1.gitlab安装 1.1 添加镜像地址 添加镜像地址的目的是为了提高国内用户软件下载的速度&#xff0c;编辑(新建)文件gitlab-ce.repo&#xff0c;指令&#xff1a; vi /etc/yum.repos.d/gitlab-ce.repo复制 输入&#xff1a; [gitlab-ce] namegitlab-ce # 清华…...

【精华】具身智能:人工智能的下一个浪潮

从符号主义到联结主义&#xff0c;智能体与真实世界的交互得到日益重视。上世纪五十年代的达特茅斯会议之后的一段时期内&#xff0c;对人工智能的研究主要限于符号处理范式&#xff08;符号主义&#xff09;。符号主义的局限性很快在实际应用中暴露出来&#xff0c;并催动了联…...

【线性回归、岭回归、Lasso回归分别预测患者糖尿病病情】数据挖掘实验一

Ⅰ、项目任务要求 任务描述&#xff1a;将“diabetes”糖尿病患者数据集划分为训练集和测试集&#xff0c;利用训练集分别结合线性回归、岭回归、Lasso回归建立预测模型&#xff0c;再利用测试集来预测糖尿病患者病情并验证预测模型的拟合能力。具体任务要求如下&#xff1a; …...

037:vue项目监听页面变化,动态设置iframe元素高度

第037个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…...

探索前端生成二维码技术:简单实用的实现方式

引言 随着智能手机的普及&#xff0c;二维码已经成为了现代生活中不可或缺的一部分。在许多场景下&#xff0c;我们都需要将某些信息或链接以二维码的形式展示出来。本文将介绍一种简单实用的前端生成二维码的技术&#xff0c;并给出具体的代码示例。 二维码生成原理 首先&a…...

python装13的一些写法

一些当你离职后&#xff0c;让老板觉拍大腿的代码 1. any(** in ** for ** in **) 判断某个集合元素&#xff0c;是否包含某个/某些元素 代码&#xff1a; if __name__ __main__:# 判断 list1 中是否包含某个/某些元素list1 [1,2,3,4]a any(x in [5,4] for x in list1) 输…...

黑马JVM总结(十八)

&#xff08;1&#xff09;G1_FullGC的概念辨析 SerialGC&#xff1a;串行的&#xff0c;ParallelGC&#xff1a;并行的 &#xff0c;CMS和G1都是并发的 这几种垃圾回收器的新生代回收机制时相同的&#xff0c;SerialGC和ParalledGC&#xff1a;老年代内存不足触发的叫FullGC…...

Android调用相机拍照,展示拍摄的图片

调用相机&#xff08;隐式调用&#xff09; //自定义一个请求码 这里我设为10010int TAKE_PHOTO_REQUEST 10010;int RESULT_CANCELED 0;//定义取消码//触发监听&#xff0c;调用相机image_camera.setOnClickListener(new View.OnClickListener() {Overridepublic void onCli…...

企业如何找媒体发稿能收录且不被拒稿,媒介盒子无偿分享

媒平台像头条、百家号、微信、微博、搜狐等平台&#xff0c;都支持全自助发稿&#xff0c;拥有庞大的用户群体。也正是因为这些平台的发展&#xff0c;衍生出了一大批自媒体KOL&#xff0c;影响力与传统媒体不相上下甚至更胜。 媒体宣发是企业营销的必要途径之一。软文是成本低…...

利用cms主题构造木马(CVE-2022-26965)

简介 CVE-2022-26965是Pluck CMS 4.7.16版本存在一个远程shell上传执行漏洞。 攻击者可利用此漏洞通过构造恶意的主题包进行上传并执行&#xff0c;未经授权访问服务器&#xff0c;造成潜在的安全隐患。 过程 1.打开环境&#xff0c;查看源码&#xff0c;发现login.php 2.进…...

【MTK】【WFD】手机投屏到投影仪不显示画面

问题分析: 在投屏过程中,有时候会出现WFD sink端回复的video 格式表不正确,sink表示是支持VESA(3fffffff),但是当手机根据协商结果得到最优分辨率并发送给sink端时,sink端看上去没有正常播放,其实实际上应该是不支持的。 比如我们这个问题就是CES表中的0001ffff,最大…...

多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出

多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出 目录 多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向…...

scrapyd-完整细节

安装scrapyd服务 pip install scrapyd 安装scrapyd客户端 pip install scrapyd-client 安装好以后重新开启cmd输入命令 scrapyd 出现以下结果代表安装成功 打开浏览器输入网址&#xff0c;即可打开界面客户端 http://127.0.0.1:6800/ 回车后显示一下ok内容代表部署成功 回到服…...

【iOS逆向与安全】插件开发之某音App直播间自动发666

1.目标 由于看直播的时候主播叫我发 666&#xff0c;支持他&#xff0c;我肯定支持他呀&#xff0c;就一直发&#xff0c;可是后来发现太浪费时间了&#xff0c;能不能做一个直播间自动发 666 呢&#xff1f;于是就花了几分钟做了一个。 2.操作环境 越狱iPhone一台 frida ma…...

AI Studio星河社区生产力实践:基于文心一言快速搭建知识库问答

还在寻找基于文心一言搭建本地知识库问答的方案吗&#xff1f;AI Studio星河社区带你实战演练&#xff08;支持私有化部署&#xff09;&#xff01; 相信对于大语言模型&#xff08;LLM&#xff09;有所涉猎的朋友&#xff0c;对于“老网红”知识库问答不会陌生。自从大模型爆…...

http1和http2的主要区别

主要有四个方面&#xff1a; 二进制分帧多路复用服务器主动推送头部压缩 将前两点结合来说&#xff0c;首先 二进制分帧 帧&#xff1a;HTTP/2 数据通信的最小单位&#xff1b; 消息&#xff1a;HTTP/2 中&#xff0c;例如在请求和响应等操作中&#xff0c;消息由一个或多个…...

一文了解水雨情在线监测站的优势

随着全球气候变化的加剧&#xff0c;水雨情的监测变得越来越重要。水雨情监测站作为现代环境监测系统的重要组成部分&#xff0c;其优势在实现环境智能监控方面得到了充分体现。 实时监测&#xff0c;数据准确 水雨情监测站通过先进的技术设备和智能传感器&#xff0c;能够实时…...

windows11中安装curl

windows11中安装curl 1.下载curl curl 下载地址&#xff1a;curl 2.安装curl 2.1.解压下载的压缩包 解压文件到 C:\Program Files\curl-8.3.0_1-win64-mingw 目录 2.2.配置环境变量 WINS 可打开搜索栏&#xff0c;输入“编辑系统环境变量” 并按回车。 3.可能遇到的问题 3…...

小谈设计模式(5)—开放封闭原则

小谈设计模式&#xff08;5&#xff09;—开放封闭原则 专栏介绍专栏地址专栏介绍 开放封闭原则核心思想关键词概括扩展封闭 解释抽象和接口多态 代码示例代码解释 优缺点优点可扩展性可维护性可复用性高内聚低耦合 缺点抽象设计的复杂性需要预留扩展点可能引入过度设计 总结 专…...

计算机视觉与深度学习-全连接神经网络-训练过程-欠拟合、过拟合和Dropout- [北邮鲁鹏]

目录标题 机器学习的根本问题过拟合overfitting泛化能力差。应对过拟合最优方案次优方案调节模型大小约束模型权重&#xff0c;即权重正则化(常用的有L1、L2正则化)L1 正则化L2 正则化对异常值的敏感性随机失活(Dropout)随机失活的问题 欠拟合 机器学习的根本问题 机器学习的根…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面&#xff0c;接口成功记录日志&#xff0c;失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...