麒麟v10服务器人大金仓数据库(Kingbase)定时备份与恢复
目录
数据备份
配置用户本地免密登陆
修改并上传备份脚本
修改脚本为可执行文件
执行脚本测试
设置定时任务
数据恢复
注意:所有命令都以root用户执行
数据备份
配置用户本地免密登陆
进入Kingbase安装目录执行:./sys_encpwd -H * -P 54321 -D * -U system -W 密码

修改并上传备份脚本
备份脚本说明:使用人大金仓数据库sys_dump进行逻辑备份,备份文件生成时已经进行压缩,不需要进一步压缩
#!/bin/bash
# 配置参数
export PGPASSWORD="zyjy@0715" # 数据库密码
BACKUP_DIR="/sqlBack" # 备份存储目录
KEEP_DAYS=90 # 备份保留天数(默认7天)
# 创建备份目录(如果不存在)
mkdir -p ${BACKUP_DIR}
# 生成带时间戳的备份文件名
DATE=$(date +"%Y%m%d_%H%M%S")
BACKUP_FILE="${BACKUP_DIR}/ieim_${DATE}.dmp"
# 执行数据库备份
echo "开始备份数据库..."
/opt/Kingbase/ES/V8/ClientTools/bin/sys_dump
-h localhost
-p 54321
-U system
-v
-f "${BACKUP_FILE}"
-F c
ieim-ic
# 检查备份结果
if [ $? -eq 0 ]; then
echo "备份成功完成!文件:${BACKUP_FILE}"
else
echo "备份失败!请检查错误信息"
exit 1
fi
# 清理旧备份
echo "清理超过 ${KEEP_DAYS} 天的旧备份..."
find ${BACKUP_DIR} -name "ieim_*.dmp" -mtime +${KEEP_DAYS} -exec rm -f {} ;
echo "清理完成,保留最近 ${KEEP_DAYS} 天的备份"
修改脚本为可执行文件
- chmod +x kingbaseSqlBack.sh
执行脚本测试
- 进入脚本上传目录,执行:./kingbaseSqlBack.sh
- 查看备份存储目录是否生成.dump数据备份文件
设置定时任务
- 编辑 cron 任务列表:crontab -e
- 在打开的文件中添加以下行(按 i 进入编辑模式)
- 添加定时任务(每天凌晨两点执行,注意修改脚本路径):0 2 * * * /opt/kingbaseSqlBack.sh
- 保存并退出
- 验证任务是否添加成功:crontab -l

数据恢复
进入人大金仓安装目录

执行数据恢复命令
- ./sys_restore -h 127.0.0.1 -p 54321 -d db_demo -U system /opt/backup/db_demo.dump >> /opt/backup/restore.log 2>&1
命令解释
- -h 数据恢复主机
- -p kingbase端口号
- -d 数据库名称
- -U 用户名
- /opt/backup/db_demo.dump 数据恢复文件路径










