OracleRman备份脚本与自动删除重复备份文件

2015-11-21 01:56:17 · 作者: · 浏览: 4
#!/bin/sh
source /home/oracle/.bash_profile


if [ -z $1 ]
then
  echo "Please Input a number,Usage: 0|1|2"
  exit
else
  RMAN_LEVEL=$1
fi


export ORACLE_SID=xxxx
export TODAY=`date '+%Y%m%d'`
export RMAN_DIR=/backup/archivelog/rman/$ORACLE_SID/$TODAY-$RMAN_LEVEL




mkdir -p $RMAN_DIR
cd $RMAN_DIR
LogFile=ora_rman_bk_$ORACLE_SID-L$RMAN_LEVEL-`date '+%Y%m%d'`.log


# rman backup 
rman target /  msglog=$RMAN_DIR/$LogFile<
 
顺便提一嘴:

delete noprompt obsolete与delete obsolete区别

noprompt :是不用提示,在shell脚本中不需要对发起的delete命令进行“yes or no”的确认。



在crontab 中设置如下: 0 4 * * 5 sh /backup/scripts/oracle/oracle_rman_bak.sh 0 > /backup/archivelog/logs/rman.log 2>&1
0 4 * * 2 sh /backup/scripts/oracle/oracle_rman_bak.sh 1 > /backup/archivelog/logs/rman.log 2>&1

进行一周一次增量与0级备份。