分享一个定时自动备份oracle的脚本
#!/bin/sh
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=${ORACLE_HOME}:${PATH}
workDIR=`pwd`
DUMPDIR=/home/oracle/db_bak
runDay=`date +%Y%m%d`
runTime=`date +%Y%m%d_%H%M`
logFile=${workDIR}/log/expdp_${runTime}.log
reserveDay=7
#删除7天前的备份文件
find ${DUMPDIR} -type f -name "*.dmp" -ctime +${reserveDay} -exec rm -f {} \; >> ${logFile} 2>&1
#遍历需要导出的数据库schemas name
for line in USERA USERB USERC
do
expdp \" / as sysdba \" DIRECTORY=db_bak DUMPFILE=${line}_${runTime}.dmp SCHEMAS=${line} LOGFILE=expdp_${line}_${runTime}.log >> ${logFile} 2>&1
done
后记:
脚本使用oracle用户执行;