[oracle@cent5-64b-40 oracle_bkup]$ cat backup2.sh
#!/bin/bash
dir=/mnt/mnt1/oracle_bkup
#logfile
logfile=${dir}/log.wlogswitch.txt
#oracle datafile dir
oradatadir=/opt/oracle/app/oradata/orcl
# delete 3-gen-old
if [ -d ${dir}/backup/3 ]
then
rm -rfv ${dir}/backup/3 > $logfile
fi
# move 2-gen-old > 3-gen-old
if [ -d ${dir}/backup/2 ]
then
mv ${dir}/backup/2 ${dir}/backup/3 >> $logfile
fi
# move 1-gen-old > 2-gen-old
if [ -d ${dir}/backup/1 ]
then
mv ${dir}/backup/1 ${dir}/backup/2 >> $logfile
fi
# current archive
mkdir ${dir}/backup/1 >> $logfile
mv ${dir}/archive ${dir}/backup/1 >> $logfile
mkdir ${dir}/archive
# log-switch (so as to sync with datafile,archive-logfile)
sqlplus / as sysdba << _EOF_ >> $logfile
alter system switch logfile;
alter database begin backup;
exit;
_EOF_
#cp files
cp -R ${oradatadir}/*.* ${dir}/backup/1 >> $logfile
# start db
sqlplus / as sysdba << _EOF_ >> $logfile
alter database end backup;
exit;
_EOF_
[oracle@cent5-64b-40 oracle_bkup]$