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<<EOF
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
不要忘记建立相应的目录。