15.脚本备份、恢复达梦DM数据库

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}.log

echo "备份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}.log

echo "恢复my_db1数据库结束:"$DATE_FORMAT""

你可能感兴趣的:(二,数据库,数据库)