Linux定时备份oracle数据库shell脚本,并删除15天以前备份

Linux定时备份oracle数据库shell脚本,并删除15天以前备份,打包,修改权限为700

#!/bin/sh
export USER=oracle
export ORACLE_SID=orcl
export ORACLE_PORT=1521
export ORACLE_ADDR=192.168.230.128
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/oracle:$LD_LIBRARY_PATH:.
export PATH=PATH=$ORACLE_HOME/bin:$PATH
export DATA_DIR=/home/oracle/shell/dmp数据库备份
export LOGS_DIR=/home/oracle/shell/dmp数据库备份/log
export DELTIME=`date -d "15 days ago" +%Y%m%d`
export BAKUPTIME=`date +%Y%m%d%H%M%S`
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
mkdir -p $DATA_DIR
mkdir -p $LOGS_DIR
echo "开始备份,备份目录:$DATA_DIR/$ORACLE_SID_$BAKUPTIME.dmp"
exp LZSMW/LZSMW@$ORACLE_ADDR:$ORACLE_PROT/$ORACLE_SID file=$DATA_DIR/LZSMW_$BAKUPTIME.dmp log=$LOGS_DIR/LZSMW_$BAKUPTIME.log
exp LZSMW_DB/LZSMW_DB@$ORACLE_ADDR:$ORACLE_PROT/$ORACLE_SID file=$DATA_DIR/LZSMW_DB_$BAKUPTIME.dmp

log=$LOGS_DIR/LZSMW_DB$BAKUPTIME.log
echo "备份和压缩文件授权所属用户读写执行权限!"
if [ ! -f "$DATA_DIR/swsmk_$BAKUPTIME.dmp" ];then
    echo "swsmk_$BAKUPTIME.dmp文件不存在!"
else
    tar zcPvf $DATA_DIR/LZSMW_$BAKUPTIME.dmp.tar.gz $DATA_DIR/swsmk_$BAKUPTIME.dmp
    chmod 700 $DATA_DIR/LZSMW_$BAKUPTIME.dmp.tar.gz
    chmod 700 $DATA_DIR/LZSMW_$BAKUPTIME.dmp
fi
if [ ! -f "$DATA_DIR/LZSMW_DB_$BAKUPTIME.dmp" ];then
    echo "bams_$BAKUPTIME.dmp文件不存在!"
else
    tar zcPvf $DATA_DIR/LZSMW_DB_$BAKUPTIME.dmp.tar.gz $DATA_DIR/bams_$BAKUPTIME.dmp
    chmod 700 $DATA_DIR/LZSMW_DB_$BAKUPTIME.dmp.tar.gz
    chmod 700 $DATA_DIR/LZSMW_DB_$BAKUPTIME.dmp
fi
echo "日志文件授权所属用户读写执行权限!"
if [ ! -f "$LOGS_DIR/LZSMW_$BAKUPTIME.log" ];then
    echo "swsmk_$BAKUPTIME.log文件不存在!"
else
    chmod 700 $LOGS_DIR/LZSMW_$BAKUPTIME.log
fi
if [ ! -f "$LOGS_DIR/LZSMW_$BAKUPTIME.log" ];then
    echo "LZSMW_$BAKUPTIME.log文件不存在!"
else
    chmod 700 $LOGS_DIR/LZSMW_$BAKUPTIME.log
fi
echo "删除15天之前的DMP备份和日志文件!"
rm -rf $DATA_DIR/LZSMW_$DELTIME*.dmp
rm -rf $DATA_DIR/LZSMW_DB_$DELTIME*.dmp
rm -rf $LOGS_DIR/LZSMW_$DELTIME*.log
rm -rf $LOGS_DIR/LZSMW_DB_$DELTIME*.log
echo "数据备份完成!"

vi /etc/crontab  #编辑系统任务计划,添加以下代码到最后一行

30 2 * * * oracle /data/oracle/oradata/orcdatabak.sh  

#每天凌晨2点30分,以oracle用户执行orcdatabak.sh备份

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值