数据链路层核心原理与实战:从帧封装到交换机、VLAN与ARP解析
2026/7/29 9:12:02
OS_Core9988systemAfj4*S@1sd%d/data/kingbase/es/v8/Server/bin//data/kbbakkingbase文件路径:/data/kbbak/kb_backup.sh
#!/bin/bash# KingbaseES 自动备份脚本 银河麒麟LinuxexportLANG=en_US.UTF-8# 金仓密码环境变量exportKINGBASE_PASSWORD="xxxxxxxxx"# ======================【配置区域】======================DB_HOST="127.0.0.1"DB_PORT="54321"DB_USER="system"DB_NAME="OS_Core"BAK_DIR="/data/kbbak"LOG_FILE="/data/kbbak/backup_task_log.txt"RETENTION_DAY=7# 金仓工具绝对路径SYS_DUMP="/data/kingbase/es/v8/Server/bin/sys_dump"SYS_RESTORE="/data/kingbase/es/v8/Server/bin/sys_restore"# =======================================================# 创建备份目录mkdir-p"${BAK_DIR}"echo"==================================================">>"${LOG_FILE}"echo"Task Start Time:$(date'+%Y-%m-%d %H:%M:%S')">>"${LOG_FILE}"# 生成备份文件名BAK_FILE="${BAK_DIR}/${DB_NAME}_Full_$(date+%Y-%m-%d_%H_%M).dump"echo"Backup File Path:${BAK_FILE}">>"${LOG_FILE}"# 执行数据库备份"${SYS_DUMP}"-h"${DB_HOST}"-p"${DB_PORT}"-U"${DB_USER}"-d"${DB_NAME}"-Fc-f"${BAK_FILE}">>"${LOG_FILE}"2>&1DUMP_RET=$?# 校验备份文件(等价SQLServer RESTORE VERIFYONLY,仅校验不恢复)echo"Start verify backup file">>"${LOG_FILE}""${SYS_RESTORE}"-l"${BAK_FILE}">>"${LOG_FILE}"2>&1VERIFY_RET=$?# 判断备份+校验结果if[${DUMP_RET}-eq0]&&[${VERIFY_RET}-eq0];thenecho"${DB_NAME}backup finished and verified successfully">>"${LOG_FILE}"elseecho"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!">>"${LOG_FILE}"echo"${DB_NAME}backup OR verify FAILED !!">>"${LOG_FILE}"echo"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!">>"${LOG_FILE}"fi# 清理7天前备份包与日志文件echo"Start clean backup & log files older than${RETENTION_DAY}days">>"${LOG_FILE}"find"${BAK_DIR}"-maxdepth1\(-name"*.dump"-o-name"backup_task_log.txt"\)-typef-mtime+${RETENTION_DAY}-deleteecho"Task Finish Time:$(date'+%Y-%m-%d %H:%M:%S')">>"${LOG_FILE}"echo"">>"${LOG_FILE}"mkdir/data/kbbak&&vi/data/kbbak/kb_backup.sh# 粘贴上面完整脚本,保存退出chmod+x /data/kbbak/kb_backup.shchownkingbase:kingbase /data/kbbak/kb_backup.shsu- kingbase-c"/data/kbbak/kb_backup.sh"# 查看运行日志cat/data/kbbak/backup_task_log.txt成功标识:日志末尾打印
OS_Core backup finished and verified successfully
crontab-e-uroot# 添加定时规则:每日凌晨02:00执行02* * *su- kingbase-c"/data/kbbak/kb_backup.sh"-Fc:自定义压缩格式,支持单表恢复,生产推荐;sys_restore -l列出备份内对象,无报错代表备份文件完好;.dump备份包 +backup_task_log.txt超过7天自动删除;kingbase执行,规避kingbase无crontab权限问题;KINGBASE_PASSWORD传入,无需交互式输入;exportKINGBASE_PASSWORD="Afj4*S@1sd%d"/data/kingbase/es/v8/Server/bin/sys_dump-h127.0.0.1-p9988-Usystem-dOS_Core-Fc-f/data/kbbak/OS_Core_Temp_$(date+%Y%m%d_%H%M).dumpkingbase.conf监听地址、pg_hba.conf访问策略;kingbase:kingbase,备份目录读写权限;/var/log/cron;