1.备份脚本
#!/bin/bash
# 通过docker命令查询达梦数据库容器id
CONTAINER_ID=`docker ps -a | grep "dm8_single" | awk '{print $1}' | head -n 1`#备份目录
DUMP_DIR="/data/dm8/data/backup"DATE_FORMAT=`date +%Y%m%d`
echo "备份my_db1数据库开始:"$DATE_FORMAT""docker exec -i $CONTAINER_ID /opt/dmdbms/bin/dexp USERID=SYSDBA/SYSDBA001 DIRECTORY= $DUMP_DIR FILE=imp_exp_${DATE_FORMAT}.dmp SCHEMAS="my_db1" LOG=exp_${DATE_FORMAT}.logecho "备份my_db1数据库结束:"$DATE_FORMAT""#删除所有日期超过15天的备份文件
find $DUMP_DIR -mtime +15 -name '*.dmp' -exec rm -rf {} \;
find $DUMP_DIR -mtime +15 -name '*.log' -exec rm -rf {} \;
2.恢复脚本
注意:数据库软件版本得与生成备份文件的数据库版本一致
#!/bin/bash# 通过docker命令查询达梦数据库容器id
CONTAINER_ID=`docker ps -a | grep "dm8_single" | awk '{print $1}' | head -n 1`#备份目录
DUMP_DIR="/data/dm8/data/backup"DATE_FORMAT=$1
echo "恢复my_db1数据库开始:"$DATE_FORMAT""docker exec -i $CONTAINER_ID /opt/dmdbms/bin/dimp USERID=SYSDBA/SYSDBA001 DIRECTORY= $DUMP_DIR FILE=imp_exp_${DATE_FORMAT}.dmp SCHEMAS="my_db1" LOG=exp_${DATE_FORMAT}.logecho "恢复my_db1数据库结束:"$DATE_FORMAT""