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

GitLab定时备份

GitLab定时备份

文章目录

  • GitLab定时备份
    • GitLab基础环境
    • 备份命令
    • 自动清理备份
    • 上传命令
    • 设置定时任务
    • 参考链接

GitLab基础环境

部署方式:Docker

版本:16.2.2

备份命令

Notes:

  • 编写sh脚本时,不要使用Windows上的Notepad++类似编辑器,执行时可能会出现语法错误,直接通过touchvim命令编辑即可
  • 注意赋予可执行权限:chmod +x gitlab_backup.sh

gitlab_backup.sh

#! /bin/bash
docker exec gitlab gitlab-rake gitlab:backup:create

自动清理备份

gitlab_delete.sh

#! /bin/bash
find /home/data/apps/gitlab/data/backups/ -type f -mtime +7 -name "*.tar" -exec rm -rf {} \;

寻找并删除 /home/data/apps/gitlab/data/backups/目录下内容修改时间(mtime)为7天以前的tar文件(-type f),并删除(rm -rf)

上传命令

备份后需要将文件传送至其他服务器。

Notes:

  • 通过scp命令实现远程复制,可以设置ssh公钥实现免密登录远端服务器,设置步骤参考最后链接。
  • 复制前要保证远端服务器已经存在指定的目录

gitlab_upload.sh

#! /bin/bash
backdir='/home/data/apps/gitlab/data/backups'
latestFileName=`ls $backdir -t|head -n 1`
cd "$backdir"
scp "$latestFileName" root@172.xxx.xxx.xx:/data/apps/gitlab/backups
ssh root@172.xxx.xxx.xx "find /data/apps/gitlab/backups -type f -mtime +7 -exec rm -f {} \;"

设置定时任务

crontab -e
10 0 * * * /data/gitlab/cron/gitlab_backup.sh > /tmp/cron.log 2>&1
20 0 * * * /data/gitlab/cron/gitlab_upload.sh > /tmp/cron.log 2>&1
30 0 * * * /data/gitlab/cron/gitlab_delete.sh > /tmp/cron.log 2>&1

每天的零点10分自动备份,零点20分自动将最新备份文件上传至远端服务器,零点30分自动删除7天前的备份

参考链接

  • docker部署GitLab配置本机自动备份、自动清理
  • gitlab定时备份
  • linux添加ssh公钥免密登录

相关文章:

GitLab定时备份

GitLab定时备份 文章目录 GitLab定时备份GitLab基础环境备份命令自动清理备份上传命令设置定时任务参考链接 GitLab基础环境 部署方式:Docker 版本:16.2.2 备份命令 Notes: 编写sh脚本时,不要使用Windows上的Notepad类似编辑…...

SQL IN 运算符

SQL IN 运算符 IN 运算符允许您在 WHERE 子句中指定多个值。 IN 运算符是多个 OR 条件的简写。 SQL IN 语法 SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...); 或者 SELECT column_name(s) FROM table_name WHERE column_name IN (SELE…...

虚拟机构建单体项目及前后端分离项目

引言 在现代化办公环境中,会议是组织沟通、决策和合作的重要方式之一。为了提高会议的效率和质量,许多企业选择部署会议OA系统来实现会议管理的自动化和数字化。本博客将介绍如何部署和优化会议OA系统,并探讨前后端分离的SPA项目在此过程中的…...

代码浅析DLIO(一)---整体框架梳理

0. 简介 我们刚刚了解过DLIO的整个流程,我们发现相比于Point-LIO而言,这个方法更适合我们去学习理解,同时官方给出的结果来看DLIO的结果明显好于现在的主流方法,当然指的一提的是,这个DLIO是必须需要六轴IMU的&#x…...

Springboot的Container Images,docker加springboot

Spring Boot应用程序可以使用Dockerfiles容器化,或者使用Cloud Native Buildpacks来创建优化的docker兼容的容器映像,您可以在任何地方运行。 1. Efficient Container Images 很容易将Spring Boot fat jar打包为docker映像。然而,像在docke…...

c 从avi 视频中提取图片

avi 视频的视频流编码必须是jpeg&#xff0c;或者mjpg 直接用摄像头录取的视频都是这两种格式&#xff0c;不能用ffmpeg转成avi的视频。 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdlib.…...

Jtti:Apache服务的反向代理及负载均衡怎么配置

配置Apache服务的反向代理和负载均衡可以帮助您分散负载并提高应用程序的可用性和性能。下面是一些通用的步骤&#xff0c;以配置Apache反向代理和负载均衡。 1. 安装和配置Apache&#xff1a; 确保您已经安装了Apache HTTP服务器。通常&#xff0c;Apache的配置文件位于/etc…...

82.二分查找

目录 什么是二分查找 一、左闭右闭写法[left,right] 代码演示&#xff1a; 二、左闭右开写法[left,right] 代码演示&#xff1a; 今天进行了二分查找的学习。 什么是二分查找 二分查找&#xff08;Binary Search&#xff09;是一种常用的搜索算法&#xff0c;也被称为折…...

线程是如何创建的

线程不是一个完全由内核实现的机制&#xff0c;它是由内核态和用户态合作完成的。pthread_create 不是一个系统调用&#xff0c;是 Glibc 库的一个函数&#xff0c;所以我们还要去 Glibc 里面去找线索。 首先处理的是线程的属性参数。例如前面写程序的时候&#xff0c;我们设置…...

owl_vit安装步骤

owl项目的clip目录与openai的clip重名了&#xff0c;import时容易找不到文件simple_tokenizer。 from clip import simple_tokenizer解决办法: 把clip项目下的simple_tokenizer.py拷贝到owl项目下的clip文件夹 cp simple_tokenizer.py /{project_dir}/scenic/scenic/projects…...

运行real.exe时出现NUM_METGRID_SOIL_LEVELS=0

本人在运行real.exe时&#xff0c;发现出现这样的报错&#xff1a; d01 2020-01-01_00:00:00 ---- ERROR: Mismatch between namelist and global attribute NUM_METGRID_SOIL_LEVELS NOTE: 2 namelist vs input data inconsistencies found. -------------- FATAL CALL…...

【数值计算方法】Gauss消元法及其Python/C实现

文章目录 一、基础理论1. 线性方程组2. Gauss消元法的详细步骤3. 注意事项 二、具体计算过程1. 用Gauss 消元法求A的LU分解&#xff0c;并由此求解方程组 Ax ba. 将A进行LU分解。b. 使用LU分解求解方程组Axb 三、代码实现1. Python代码实现2. C语言代码实现 Gauss消元法&#x…...

ins老被封禁?快来看看这些雷区你踩了没!

做外贸的小伙伴应该都运营或者接触过Instagram&#xff0c;但是忽视平台规则和操作不当很容易出现ins被封号的情况&#xff0c;今天就给大家介绍ins封禁原因&#xff0c;大家在运营过程中就可以很好避免了&#xff01; Instagram 封禁原因 1.短时间内大量关注和点赞操作 为了封…...

《Effective Java》读书笔记(1-2章)

第一章 创建和销毁对象 1. 考虑用静态代替构造方法 想要获取一个类的实例&#xff0c;一种传统的方式是通过共有的构造器&#xff0c;当然还可以使用另一种技术&#xff1a;提供共有的静态工厂方法。 什么是静态工厂&#xff1f; public static Boolean valueOf(boolean b) …...

C++版split(‘_‘)函数

目录 1 使用stringstream2 使用双指针算法 1 使用stringstream #include <iostream> #include <sstream> #include <string> #include <vector>using namespace std;vector<string> split(string str, char separator) {vector<string> …...

Leaky singletons的一种使用场景

Leaky singletons的一种使用场景 文章目录 Leaky singletons的一种使用场景场景问题本质如何解决Leaky singletons 场景 最近遇到了这个问题&#xff0c;正好想记录下。 比如你有一段代码&#xff0c;如下&#xff08;伪代码&#xff09;&#xff1a; static std::map<int…...

TensorFlow图像多标签分类实例

接下来&#xff0c;我们将从零开始讲解一个基于TensorFlow的图像多标签分类实例&#xff0c;这里以图片验证码为例进行讲解。 在我们访问某个网站的时候&#xff0c;经常会遇到图片验证码。图片验证码的主要目的是区分爬虫程序和人类&#xff0c;并将爬虫程序阻挡在外。 下面…...

Python程序设计期末复习笔记

文章目录 一、数据存储1.1 倒计时1.2 os库1.3 字符串操作1.4 文件操作1.5 列表操作1.6 元组1.7 字典 二、文本处理及可视化2.1 jieba分词2.2 集合操作2.3 pdf文件读取2.4 参数传递2.5 变量作用域 三、数据处理分析3.1 Sumpy3.2 Matplotlib3.3 Numpy 四、Pandas4.1 索引操作4.2 …...

人大与加拿大女王大学金融硕士—与您共创辉煌

生活的本质就是有意识的活着&#xff0c;而生活的智慧就是活出了自己想要的样子&#xff0c;那些真正厉害的人&#xff0c;从来都在默默努力&#xff0c;伴随着金融人才的需求日益增长&#xff0c;中国人民大学与加拿大女王大学联合推出了人大女王金融硕士项目&#xff0c;旨在…...

Generalized Zero-Shot Learning With Multi-Channel Gaussian Mixture VAE

L D A _{DA} DA​最大化编码后两种特征分布之间的相似性 辅助信息 作者未提供代码...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...