金仓数据库备份简易脚本

vim backup.sh

#!/bin/bash
####################################################################################################################
###
###Descipt: this script is used for kingbase database backup,before you run it,you should set the variables such as
###         kdb_home,kdbback_dest,kdb_user,kdb_pass,kdb_host,kdb_port,kdb_list,keep_time and so on.
###
####################################################################################################################
####################### variable define ##########################
##########################此脚本备份会备份到脚本存放的位置创建与数据库同名的目录#####################################


# 数据库安装目录
kdb_home="/opt/Kingbase/ES/V8/Server"

# 数据库备份的目标路径
kdbback_dest="/opt/kingbaseback"

# 数据库用户名
kdb_user="system"

# 数据库用户密码
kdb_pass="123456"

# 数据库端口号
kdb_port="54321"

# 数据库访问ip
kdb_host="111.5.240.50"

# 数据库的库,多个库可用逗号分隔,如"TEST,SAMPLE"
kdb_list="TEST,SECURITY"

date=$(date '+%Y%m%d%H')
LD_LIBRARY_PATH="${kdb_home}/unixodbc/lib:${kdb_home}/lib:${kdb_home}/bin"

####################### kingbase backup start  #######################

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
for db in `echo $kdb_list | sed 's/,/ /g'`; do
        [ -d ${db} ] || mkdir -p ${db}
        cd ${db}
        ##### 检查kingbase的服务是否正常启动状态,输出日志信息到日志文件
        ${kdb_home}/bin/ksql "host=${kdb_host} port=${kdb_port}  dbname=${db}  user=${kdb_user}  password=${kdb_pass}"  -c "select now();"> /dev/null 2>&1
        if [ $? -ne 0 ] ;then
            echo "${date} 对不起,检测到kingbase数据库未启动,请先启动" >> backup_${db}_${date}.log
            exit 1
        else
            echo "${date} kingbase数据库正常运行中,${db}库正常" >> backup_${db}_${date}.log
        fi
        ##### end
        ##### 数据库的备份操作
        ${kdb_home}/bin/sys_dump "host=${kdb_host} port=${kdb_port}  dbname=${db}  user=${kdb_user}  password=${kdb_pass}" -F c -f ${db}_${date}.dmp>>backup_${db}_${date}.log 2>&1
        cd ../
done
exit 1

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值