Kingbase V8R6 数据库自动(逻辑)备份、删除脚本-Linux

脚本说明

1.该脚本为Linux环境下自动备份、删除Kingbase数据库备份脚本(逻辑备份);
2.执行脚本前,请先对脚本进行修改后,再使用。

脚本效果

1.执行脚本时,若备份目录不存在,则自动创建备份目录;
2.当备份文件数量少于设置的保存文件数量时,只做备份不做删除;
3.当备份文件数量等于保存文件数量时,先做逻辑备份,再删除最早备份的文件。

在这里插入图片描述
在这里插入图片描述

脚本文件
kingbase_backup.sh

#!/bin/bash

# ------------------按需修改以下内容------------------
dbInstallPath="/data/Kingbase/ES/V8/"
backupDir="/data/Kingbase/dmp_bak"
dbIP="127.0.0.1"
dbPort="54321"
dbName="v7user"
dbUser="v7user"

# 保留最近几个备份文件
reservedNum=3
# ------------------按需修改以上内容------------------

# 数据库备份目录
if [ ! -d ${backupDir} ]; then
  mkdir -p ${backupDir}
fi

# 数据库备份
sysDumpPwd="$(find ${dbInstallPath} -name sys_dump | head -n 1)"
nowDate=$(date +%Y%m%d_%H%M%S)
${sysDumpPwd} -h ${dbIP} -p ${dbPort} -U ${dbUser} -d ${dbName} -Fc > ${backupDir}/${dbName}_${nowDate}.sql

# 备份文件删除
sqlFileNum="$(ls -l  ${backupDir}/${dbName}*.sql |grep ^- |wc -l)"
nowNum=${sqlFileNum}
if((${nowNum} > reservedNum));then
	while(( sqlFileNum > reservedNum))
		do
			OldFile="$(ls -rt ${backupDir}/${dbName}*.sql | head -1)"
			rm -f $OldFile
			let "sqlFileNum--"
		done
else
	echo "当前备份文件数:${nowNum}小于需保留文件数:${reservedNum},不执行删除操作!"
fi

# 还原
# 注意:还原时候操作逻辑为先删除原始数据库,再恢复
# /data/Kingbase/ES/V8/Server/bin/sys_restore  -h 127.0.0.1 -p 54321 -U v7user -d v7user -c /data/Kingbase/dmp_bak/v7user_20241211_114909.sql

内容由Windows环境复制过去,在Linux执行时候会报错,如“kingbase_backup.sh:行37: 未预期的符号 `$‘\r’’ 附近有语法错误”,可在Linux上,使用命令:dos2unix kingbase_backup.sh修改脚本编码。
定时任务

crontab -e
# 每天凌晨2点执行一次
# 演示中:脚本放置目录为:/data/Kingbase/
0 2 * * * cd /data/Kingbase/ && bash kingbase_backup.sh

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

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

相关文章

网络应用技术 实验六:通过 DHCP 管理园区网 IP 地址(华为ensp)

一、实验简介 构建园区网,通过 DHCP 服务器为全网的用户主机提供 IP 地址。 二、实验目的 1 、理解 DHCP 的工作原理; 2 、掌握 DHCP 服务器的创建和配置方法; 3 、掌握将 VirtualBox 虚拟机引入 eNSP 的方法; …

Elasticsearch使用(2):docker安装es、基础操作、mapping映射

1 安装es 1.1 拉取镜像 docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/elasticsearch:7.17.3 1.2 运行容器 运行elasticsearch容器,挂载的目录给更高的权限,否则可能会因为目录权限问题导致启动失败: docker r…

Flink 核心知识总结:窗口操作、TopN 案例及架构体系详解

目录 一、FlinkSQL 的窗口操作 (一)窗口类型概述 (二)不同时间语义下窗口实践 EventTime(事件时间) ProcessTime(处理时间) 二、窗口 TopN 案例解析 三、Flink架构体系 &…

Vscode配置自动切换node版本

Vscode配置自动切换node版本 问题描述 开发环境安装了很多Node JS版本,项目经常切换也常常忘记了使用了什么版本,所以最好在打开项目terminal,安装依赖,启动项目前自动设置好版本 具体配置 .vscode/settings.json中,添加如下代…

【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行

文章目录: 【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行前言安装docker-centos7 【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行 💬欢迎交流:在学习…

leetcode108.将有序数组转换为二叉搜索树

标签:二叉搜索树 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵平衡二叉搜索树。 示例 1: 输入:nums [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,…

C# 探险之旅:第二节 - 定义变量与变量赋值

欢迎再次踏上我们的C#学习之旅。今天,我们要聊一个超级重要又好玩的话题——定义变量与变量赋值。想象一下,你正站在一个魔法森林里,手里拿着一本空白的魔法书(其实就是你的代码编辑器),准备记录下各种神奇…

基于事件驱动的websocket简单实现

websocket的实现 什么是websocket? WebSocket 是一种网络通信协议,旨在为客户端和服务器之间提供全双工、实时的通信通道。它是在 HTML5 规范中引入的,可以让浏览器与服务器进行持久化连接,以便实现低延迟的数据交换。 WebSock…

libaom 源码分析:av1_rd_use_partition 函数

libaom libaom 是 AOMedia Video 1 (AV1) 视频编码格式的参考实现库,由 Alliance for Open Media (AOMedia) 开发和维护。AV1 是一个高效、开放、免专利授权的下一代视频编解码标准,设计目标是提供较高的视频压缩效率,同时适配各种分辨率、码率和平台。下载:git clone http…

如何恢复使用 Cursor 免费试用

当用户尝试创建过多免费试用账户时,会收到提示:“Too many free trial accounts used on this machine. Please upgrade to pro.” 这限制了用户的试用次数。AI大眼萌帮助大家绕过 Cursor 的设备指纹验证,以继续享受免费试用。 🚨…

【Excel学习记录】01-认识Excel

1.之前的优秀软件Lotus-1-2-3 默认公式以等号开头 兼容Lotus-1-2-3的公式写法,不用写等号 : 文件→选项→高级→勾选:“转换Lotus-1-2-3公式(U)” 备注:对于大范围手动输入公式可以使用该选项,否则请不要勾选&#x…

网络安全——防火墙

基本概念 防火墙是一个系统,通过过滤传输数据达到防止未经授权的网络传输侵入私有网络,阻止不必要流量的同时允许必要流量进入。防火墙旨在私有和共有网络间建立一道安全屏障,因为网上总有黑客和恶意攻击入侵私有网络来破坏,防火…

kafka进阶_4.kafka扩展

文章目录 一、Controller选举二、Kafka集成2.1、大数据应用场景2.1.1、Flume集成2.1.2、Spark集成2.1.3、Flink集成 2.2、Java应用场景(SpringBoot集成) 三、Kafka常见问题3.1、Kafka都有哪些组件?3.2、分区副本AR, ISR, OSR的含义?3.3、Producer 消息重…

OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用

OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用 文章目录 OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用RFT的工作原理与应用领域案例研究:基因突变…

Go mysql驱动源码分析

文章目录 前言注册驱动连接器创建连接交互协议读写数据读数据写数据 mysqlConncontext超时控制 查询发送查询请求读取查询响应 Exec发送exec请求读取响应 预编译客户端预编译服务端预编译生成prepareStmt执行查询操作执行Exec操作 事务读取响应query响应exec响应 总结 前言 go…

MeshCNN复现

开源代码:GitHub - ranahanocka/MeshCNN: Convolutional Neural Network for 3D meshes in PyTorchConvolutional Neural Network for 3D meshes in PyTorch - ranahanocka/MeshCNNhttps://github.com/ranahanocka/MeshCNN/?tabreadme-ov-file 运行方式&#xff1…

ubuntu中使用ffmpeg库进行api调用开发

一般情况下,熟悉了ffmpeg的命令行操作,把他当成一个工具来进行编解码啥的问题不大,不过如果要把功能集成进自己的软件中,还是要调用ffmpeg的api才行。 ffmpeg的源码和外带的模块有点太多了,直接用官网别人编译好的库就…

【Ubuntu】URDC(Ubuntu远程桌面助手)安装、用法,及莫名其妙进入全黑模式的处理

1、简述 URDC是Ubuntu远程桌面助手的简称。 它可以: 实时显示桌面:URDC支持通过Windows连接至Ubuntu设备(包括x86和ARM架构,例如Jetson系列、树莓派等)的桌面及光标。远程操控双向同步剪切板多客户端连接:同一Ubuntu设备最多可同时被三台Windows客户端连接和操控,适用于…

备忘录模式的理解和实践

引言 在软件开发中,我们经常会遇到需要保存对象状态并在某个时间点恢复到该状态的需求。这种需求类似于我们平时说的“后悔药”,即允许用户撤销之前的操作,恢复到某个之前的状态。备忘录模式(Memento Pattern)正是为了…

云端微光,AI启航:低代码开发的智造未来

文章目录 前言一、引言:技术浪潮中的个人视角初次体验腾讯云开发 Copilot1.1 低代码的时代机遇1.1.1 为什么低代码如此重要? 1.2 AI 的引入:革新的力量1.1.2 Copilot 的亮点 1.3 初学者的视角1.3.1 Copilot 带来的改变 二、体验记录&#xff…