ITPub博客

首页 > 数据库 > Oracle > rman增量备份脚本

rman增量备份脚本

原创 Oracle 作者:sun642514265 时间:2014-01-07 14:51:39 0 删除 编辑

#!/bin/bash
#edit: daniel
#date:2012-03-08
#auto backup database
#load Environment variables
myweek=`date +%a`
mydate=`date +%Y%m%d`

su - oracle -c 'cat >> /home/oracle/.bash_profile' << EOF
export mydir=/home/oracle/log
EOF
#Sunday
if [ "$myweek" == "Sun" ]; then
su - oracle -c 'rman target / log=${mydir}/backup.log append' <
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup incremental level 0 database
include current controlfile format '/home/oracle/backup/backup_%T_%s_%p.lv0' plus archivelog delete all input format '/home/oracle/backup/backup_%T_%s_%p.arc';
release channel c1;
release channel c2;
}
EOF
#Monday
elif [ "$myweek" == "Mon" ]; then
su - oracle -c 'rman target / log=${mydir}/backup.log append' <
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup incremental level 2 database include current controlfile format '/home/oracle/backup/backup_%T_%s_%p.lv2';
release channel c1;
release channel c2;
}
EOF
#Tuesday
elif [ "$myweek" == "Tue" ]; then
su - oracle -c 'rman target / log=${mydir}/backup.log append' <
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup incremental level 2 database include current controlfile format '/home/oracle/backup/backup_%T_%s_%p.lv2';
release channel c1;
release channel c2;
}
EOF
#Wednesday
elif [ "$myweek" == "Wed" ]; then
su - oracle -c 'rman target / log=${mydir}/backup.log append' <
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup incremental level 1 database include current controlfile format '/home/oracle/backup/backup_%T_%s_%p.lv1';
release channel c1;
release channel c2;
}
EOF
#Thursday
elif [ "$myweek" == "Thu" ]; then
su - oracle -c 'rman target / log=${mydir}/backup.log append' <
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup incremental level 2 database include current controlfile format '/home/oracle/backup/backup_%T_%s_%p.lv2';
release channel c1;
release channel c2;
}
EOF
#Friday
elif [ "$myweek" == "Fri" ]; then
su - oracle -c 'rman target / log=${mydir}/backup.log append' <
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup incremental level 2 database include current controlfile format '/home/oracle/backup/backup_%T_%s_%p.lv2';
release channel c1;
release channel c2;
}
EOF
#Saturday
elif [ "$myweek" == "Sat" ]; then
su - oracle -c 'rman target / log=${mydir}/backup.log append' <
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup incremental level 0 database include current controlfile format '/home/oracle/backup/backup_%T_%s_%p.lv0' plus archivelog delete all input format '/home/oracle/backup/backup_%T_%s_%p.arc';
release channel c1;
release channel c2;
}
EOF
fi

注意:backup.log内容是累计增加的,所以要在执行脚本之前创建一个backup.log文件


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28698327/viewspace-1067909/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-05-16

  • 博文量
    34
  • 访问量
    193495