达梦数据库使用逻辑导出的方法定期备份数据库

cat dmbak.sh
#******************************************************************
# File: dmbak.sh
# Auther:Richie
# Creation Date: 2023/4/18 17:57:32
# Last Modified: 2023/4/18 17:57:32
# 脚本功能:达梦备份脚本
# 实施前请仔细阅读!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# 对应下面的名字
# 1.设置达梦 DM_BASE 目录
# 2.设置数据库备份目录
# 3.设置数据库用户名/密码 例如:FINANCE_ACCT/System.123
# 4.设置需要备份用户库 例如:BIFROST_PLATFORM,BIFROST_AUTH,FINANCE_BASIC,BIFROST_BI,BIFROST_WORKFLOW,BIFROST_SEARCH
# 5.设置备份最多存储时间 SAVE_DATE
# 6、脚本写入crontab任务调度里面定时执行
# 放在数据库服务器后 授权执行以下命令 一行行执行 除中文字以外
# 第一步
# chmod 755 dmbak.sh
# 第二步 每天凌晨2点执行脚本
# crontab -e
# 按字母 i 进入编辑模式 复制下下面的命令 除#和后面的空格
# 0 2 * * * sh /(改成你放置脚本的目录)/dmbak.sh
# wq! 保存

#******************************************************************
#!/bin/sh
# 达梦备份bin目录
export DM_BASE=/app/dmdba/dmdbms/bin

#备份数据保存目录
export BAK_DIR=/app/dmbak

#备份用户名及密码
export USER=账号/密码

#备份的用户
export OWNER=JZEE_SBJ

# 备份保存天数
export SAVE_DATE=15

export BAKUPTIME=`date +%Y%m%d%H%M%S`
mkdir -p $BAK_DIR
echo "开始备份..."
echo "备份文件路径: $BAK_DIR/$BAKUPTIME.dmp"
cd $DM_BASE
./dexp $USER@127.0.0.1:5236 file=$BAK_DIR/$BAKUPTIME.dmp log=$BAK_DIR/$BAKUPTIME.log OWNER=$OWNER >/dev/null 2>&1
echo "删除前 $SAVE_DATE 天的备份文件..."
#tar -Pzcf $BAK_DIR/$BAKUPTIME.tar.gz $BAK_DIR/$BAKUPTIME.dmp
cd $BAK_DIR
tar -zcvf $BAKUPTIME.tar.gz ./$BAKUPTIME.dmp >/dev/null 2>&1
rm -rf $BAK_DIR/$BAKUPTIME.dmp
rm -rf $BAK_DIR/*.log
find $BAK_DIR -mtime +$SAVE_DATE -name "*.tar.gz" -exec rm -rf {} \;
echo "备份完成."

 

posted @ 2025-12-18 16:23  徐创业  阅读(14)  评论(0)    收藏  举报