根据日期来进行不同级别的备份
#!/bin/bash
# chkconfig: 345 99 10
#Choose to run the script by week
#The script will automatically choose the backup level
time=$(date +%A)
ora=$(ps aux | grep ora | grep -v "grep" | wc -l)
date "+%Y-%m-%d %H:%M:%S" >> /home/oracle/rman.log
case $time in
'Monday')
#cmdfile=/opt/script/opt_0_level
if [ $ora -ne 0 ]; then
su - oracle -c "rman target / " <<m
run
{
backup incremental level 1 cumulative device type disk tag '%TAG' database;
recover copy of database;
backup device type disk tag '%TAG' archivelog all not backed up delete all input;
CROSSCHECK BACKUP of database;
delete noprompt obsolete device type disk;
}
m
else
echo "file not exist"
fi
;;
'Tuesday')
if [ $ora -ne 0 ]; then
su - oracle -c "rman target / " << m
run
{
backup incremental level 0 cumulative device type disk tag '%TAG' database;
recover copy of database;
backup device type disk tag '%TAG' archivelog all not backed up delete all input;
CROSSCHECK BACKUP of database;
delete noprompt obsolete device type disk;
}
m
else
echo "file not exist"
fi
;;
'Wednesday')
if [ $ora -ne 0 ]; then
su - oracle -c "rman target / " << m
run
{
backup incremental level 1 cumulative device type disk tag '%TAG' database;
recover copy of database;
backup device type disk tag '%TAG' archivelog all not backed up delete all input;
CROSSCHECK BACKUP of database;
delete noprompt obsolete device type disk;
}
m
else
echo "file not exist"
fi
;;
'Thursday')
if [ $ora -ne 0 ]; then
su - oracle -c "rman target / " << m
run
{
backup incremental level 1 cumulative device type disk tag '%TAG' database;
backup device type disk tag '%TAG' archivelog all not backed up delete all input;
CROSSCHECK BACKUP of database;
delete noprompt obsolete device type disk;
}
m
else
echo "file not exist"
fi
;;
'Friday')
if [ $ora -ne 0 ]; then
su - oracle -c "rman target / " << m
run
{
backup incremental level 0 cumulative device type disk tag '%TAG' database;
backup device type disk tag '%TAG' archivelog all not backed up delete all input;
CROSSCHECK BACKUP of database;
delete noprompt obsolete device type disk;
}
m
else
echo "file not exist"
fi
;;
'Saturday')
if [ $ora -ne 0 ]; then
su - oracle -c "rman target / " << m
run
{
backup incremental level 1 cumulative device type disk tag '%TAG' database;
recover copy of database;
backup device type disk tag '%TAG' archivelog all not backed up delete all input;
CROSSCHECK BACKUP of database;
delete noprompt obsolete device type disk;
}
m
else
echo "file not exist"
fi
;;
'Sunday')
if [ $ora -ne 0 ]; then
su - oracle -c "rman target / " << m
run
{
backup incremental level 1 cumulative device type disk tag '%TAG' database;
recover copy of database;
backup device type disk tag '%TAG' archivelog all not backed up delete all input;
CROSSCHECK BACKUP of database;
delete noprompt obsolete device type disk;
}
m
else
echo "file not exist"
fi
esac