RMAN自动备份脚本一例

2014-11-24 18:55:35 · 作者: · 浏览: 5

crontab -e


* * * * * /home/oracle/workspace/scripts/bk_main.sh>> /home/oracle/workspace/log/bk_err.log 2>&1


/home/oracle/workspace/scripts/bk_main.sh


#!/bin/bash



dat=`date +'%M'`



if (($dat==0))


then


/home/oracle/workspace/scripts/bk_.sh 0


elif (($dat%50==0))


then


/home/oracle/workspace/scripts/bk_.sh 2


elif (($dat%40==0))


then


/home/oracle/workspace/scripts/bk_.sh 2


elif (($dat%30==0))


then


/home/oracle/workspace/scripts/bk_.sh 1


elif (($dat%20==0))


then


/home/oracle/workspace/scripts/bk_.sh 2


elif (($dat%10==0))


then


/home/oracle/workspace/scripts/bk_.sh 2


fi


/home/oracle/workspace/scripts/bk_.sh


#!/bin/bash


#This is a import statement.


PATH=$PATH:$HOME/bin



export PATH


export ORACLE_SID=dex


export ORACLE_BASE=/u01/apps/oracle


export ORACLE_HOME=$ORACLE_BASE/product/11gr2/db_1


export PATH=$ORACLE_HOME/bin:$PATH


#use awk to cut the space char


timst=`date +'%Y%m%d%k%M' | awk '{print $1$2}'`


#Use for debug


#echo $timst


#Create a directory like 201112140112


mkdir /u01/backup/DEX/backups/$timst


#Rman backup scripts


rman target sys/xiaojun@dex log=/home/oracle/workspace/log/rmanlog/rman_$timst<

run{


allocate channel dev1 type disk ;


allocate channel dev2 type disk ;


backup incremental level 1 database format '/u01/backup/DEX/backups/$timst/bk_%t_%s' plus archivelog format'/u01/backup/DEX/backups/$timst/arc_%t_%s' delete all input ;


crosscheck backup ;


delete noprompt obsolete ;


delete noprompt expired backup;


}


EOF




不要忘记建立相应的目录。