1.备份脚本(dm-backup.sh)
#!/bin/sh
# 数据库环境变量
# 安装路径
export DM_HOME="/apps/dm8"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DM_HOME/bin"
export PATH="$DM_HOME/bin:$PATH"
export LANG=en_US.UTF-8
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
# 备份设置
# 备份文件路径
bakdir=/dmbak
# 当前时间
date=$(date +%Y%m%d%H%M)
# 设置删除10天前的数据
days=10
# 要备份的DM数据库IP、端口
dmid=192.168.1.101:5236
# 备份用户和密码
bakuser=SYSDBA
bakpass="SYSDBA"
# 远程服务器配置
# 远程服务器ip
remoteip=192.168.1.102
# 远程服务目录
remotedir=/apps/
# 创建备份目录(如果不存在)
mkdir -p "$bakdir" || exit 1
# 备份模式列表
schemas=("TEST0116" "TEST0117")
# 遍历模式列表进行备份
for schema in "${schemas[@]}"; do
# 备份文件名称
bakdata="${schema}_${date}.dmp"
baklog="${schema}_${date}.log"
dmdatabak="${schema}_${date}.tar.gz"
# 导出dmp和log文件
dexp "$bakuser/$bakpass@$dmid" file="$bakdir/$bakdata" log="$bakdir/$baklog" directory="$bakdir" schemas="$schema"
dexp_exit_status=$?
# 检查dexp命令是否成功执行
if [ $d