案例说明:

在KingbaseES V8R6数据库通常备份建立的crond任务,默认由root用户建立,写入到/etc/cron.d/KINGBASECRON文件中,在有的生产环境限制了普通用户使用root的权限,创建计划任务可能失败,新的KingbaseES V8R6版本,将计划任务由数据库用户创建,比如通用机环境,将由kingbase用户创建计划任务。

如下图所示,写入到KINGBASECRON文件中的计划任务:

适用版本:

KingbaseES V8R6

一、备份初始化

1、备份配置文件

[kingbase@node102 bin]$ cat sys_backup.conf |grep -v ^#|grep -v ^$
_target_db_style="single"
_one_db_ip="127.0.0.1"
_repo_ip="127.0.0.1"
_stanza_name="kingbase"
_os_user_name="kingbase"
_repo_path="/home/kingbase/kbbr7_repo"
_repo_retention_full_count=5
_crond_full_days=7
_crond_diff_days=0
_crond_incr_days=1
_crond_full_hour=2
_crond_diff_hour=3
_crond_incr_hour=4
_band_width=0
_os_ip_cmd="/sbin/ip"
_os_rm_cmd="/bin/rm"
_os_sed_cmd="/bin/sed"
_os_grep_cmd="/bin/grep"
_single_data_dir="/data/kingbase/c7/data"
_single_bin_dir="/opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/bin"
_single_db_user="system"
_single_db_port="54322"
_use_scmd=off
_start_fast=y
_compress_type=none
_non_archived_space=1024

2、执行初始化

[kingbase@node102 bin]$ ./sys_backup.sh init
# pre-condition: check the non-archived WAL files
# generate single sys_rman.conf...DONE
# update single archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60+ seconds)
# create stanza and check...DONE
# initial first full backup...(maybe several minutes)
# initial first full backup...DONE
# Initial sys_rman OK.
'sys_backup.sh start' should be executed when need back-rest feature.

二、建立备份计划任务

1、建立crond任务

[kingbase@node102 bin]$ ./sys_backup.sh start
# pre-condition: check the non-archived WAL files
Enable some sys_rman in crontab-daemon
no crontab for kingbase
Set full-backup in 7 days
Set incr-backup in 1 days
0 2 */7 * * /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/bin/sys_rman --config=/home/kingbase/kbbr7_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >> /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/log/sys_rman_backup_full.log 2>&1
0 4 */1 * * /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/bin/sys_rman --config=/home/kingbase/kbbr7_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=incr backup >> /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/log/sys_rman_backup_incr.log 2>&1

2、查看crond任务

Tips:

如下所示,当前kingbase用户可以查看到备份的计划任务。

[kingbase@node102 bin]$ crontab -l
0 2 */7 * * /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/bin/sys_rman --config=/home/kingbase/kbbr7_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >> /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/log/sys_rman_backup_full.log 2>&1
0 4 */1 * * /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/bin/sys_rman --config=/home/kingbase/kbbr7_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=incr backup >> /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/log/sys_rman_backup_incr.log 2>&1

计划任务写入以下文件:

[root@node102 cron]# cat /var/spool/cron/kingbase
0 2 */7 * * /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/bin/sys_rman --config=/home/kingbase/kbbr7_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >> /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/log/sys_rman_backup_full.log 2>&1
0 4 */1 * * /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/bin/sys_rman --config=/home/kingbase/kbbr7_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=incr backup >> /opt/Kingbase/ES/V8_B24/KESRealPro/V008R006C007B0024/Server/log/sys_rman_backup_incr.log 2>&1

三、分析备份crond任务的创建

[kingbase@node102 bin]$ sh -x sys_backup.sh start

如下图所示,由root用户创建的/etc/cron.d/KINGBASECRON的备份的计划任务,已经由当前用户kingbase的crond任务代替。

三、总结

对于备份的计划任务,在通用机环境,由当前数据库用户的crond任务代替由root用户创建的crond任务,在对安全性要求高的生产环境中使用,不再受权限限制,更好的适应于各种生产环境。

KingbaseES V8R6备份恢复案例之---备份crond计划任务的调整的更多相关文章

  1. KingbaseES V8R6备份恢复案例之---自定义表空间指定恢复目录数据恢复

    案例说明: KingbaseES V8R6在通过sys_rman执行物理备份恢复时,可以通过参数'--kb1-path',指定恢复的数据(data)目录,但如果原备份中包含自定义表空间时,需要建立表空 ...

  2. KingbaseES V8R6备份恢复案例之---手工清理冗余历史备份

    案例说明: 对于KingbaseES V8R6的通过sys_rman执行的物理历史备份,可以在执行备份时,备份的保留(retention)策略自动清理.不能通过手工删除备份,可以通过expire参数手 ...

  3. KingbaseES V8R6备份恢复案例之---同一数据库创建不同stanza备份

    案例说明: 在生产环境,有的应用需要调用数据库的sys_rman做备份,为了区分数据库自身的sys_rman备份和应用的备份,可以使用不同的stanza name创建备份.本案例介绍了,如何在King ...

  4. kingbaseES V8R6集群备份恢复案例之---备库作为repo主机执行物理备份

    ​ 案例说明: 此案例是在KingbaseES V8R6集群环境下,当主库磁盘空间不足时,执行sys_rman备份,将集群的备库节点作为repo主机,执行备份,并将备份存储在备库的磁盘空间. 集群架构 ...

  5. KingbaseES V8R6备份恢复案例之--删除test数据库后sys_backup.sh备份

    案例说明: KingbaseES V8R6通过sys_backup.sh执行物理备份,默认sys_backup.sh执行备份初始化时,需要连接test数据库进行身份的认证:在一些生产环境为了安全需求, ...

  6. KingbaseES V8R6C6备份恢复案例之---单实例sys_baackup.sh备份

    案例说明: KingbaseES V8R6C6中sys_backup.sh在通用机单实例环境,默认需要通过securecmdd工具以及kingbase和root用户之间的ssh互信,执行备份初始化(i ...

  7. KingbaseES V8R3 备份恢复案例之--单实例环境sys_rman脚本备份案例

    案例说明: sys_rman是KingbaseES数据库的物理备份工具,支持数据库的全备和增量备份,由于sys_rman工具使用需要配置多个参数,对于一般用户使用不是很方便.为方便用户在Kingbas ...

  8. xtrabakcup基本用法 安装、全量备份恢复、增量备份恢复

    xtrabackup备份原理以及工作流程 备份流程日志分析:1.##读取mysql配置文件2.## 扫描innodb日志lsn并复制inndodb系统表空间3.## 缓冲写出到数据文件并锁表4.## ...

  9. KingbaseES V8R6 维护管理案例之---Kstudio在CentOS 7启动故障

    ​ 案例说明: 在CentOS 7上安装KingbaseES V8R6C006数据库后,启动Kstudio图形界面启动失败,gtk动态库加载失败,安装gtk相关动态库后,问题解决. 适用版本: Kin ...

  10. Mysql 备份恢复与xtrabackup备份

随机推荐

  1. 【Lua】xLua逻辑热更新

    1 前言 ​ Lua基础语法 中系统介绍了 Lua 的语法体系,ToLua逻辑热更新 中介绍了 ToLua 的应用,本文将进一步介绍 Unity3D 中基于 xLua 实现逻辑热更新. ​ 逻辑热更新 ...

  2. git bash 的一些使用

    一般使用git bash需要的命令 先打开git bash: git init 可以初始化一个本地的仓库 git status 查看仓库信息 mkdir test 创建一个test的文件夹 cd te ...

  3. win32-创建透明的图片按钮

    // Test_CustomButton.cpp : Defines the entry point for the application. // #include "framework. ...

  4. 一次nginx返回422状态码的经历

    故事背景 后端使用Docker Compose部署一个代码片段管理应用:snibox,某天因为云服务卡死重启之后再次访问时,登录或退出都返回422状态码. 界面提示如下: 不过奇怪的是:直接通过IP+ ...

  5. Java 类的成员之四: 代码块(或初始化块)

    1 package com.bytezreo.block; 2 3 /** 4 * 5 * @Description 类的成员之四: 代码块(或初始化块) 6 * @author Bytezero·z ...

  6. C 语言字符串操作总结

    C 语言字符串操作总结 一.字符串操作 size_t 是一个无符号整型. 1.1 strcpy 函数原型:char *strcpy(char *dest, const char *src). 功 能: ...

  7. 修改主频 & 时钟树

    在system_stm32f10x.c中可以更改这个 最先调用void SystemInit (void)启动HSI+各种恢复缺省配置    然后   调用 SetSysClock();执行设置时钟7 ...

  8. 单词本z exploration plor,ploit — flow out ,weep

    exploration plor,ploit - flow out ,weep 为什么 今天新学了个单词 exploration 很简单可以查出和 explore有关联 exploration n. ...

  9. WPF之认识XAML

    目录 新建项目 剖析XAML代码 参考资料 新建项目 在Visual Studio 2019中使用WPF项目模板建立一个最简单的WPF项目,如下图所示: 可以看到,项目里面主要有两个分支: App.x ...

  10. [置顶] 彻底停止运行线程池ThreadPoolExecutor

    最近系统开发时遇到这样一个需求: 该功能执行时间很久,如果运行过程出现错误,也无法将其停止,必须眼睁睁的看着它浪费很久时间,除非停止服务器. 于是,我就想着如何给该功能加上一个"停止&quo ...