备份脚本(导出数据库)

本文介绍了一个用于Oracle数据库的备份脚本,通过该脚本可以实现数据库的完整备份及七天前备份文件的自动清理。此外,还介绍了如何将此脚本设置为定时任务,在每天凌晨3:00自动执行。

备份数据库,并删除七天前的备份文件

export ORACLE_SID=bdyz
export ORACLE_BASE=/u01/oracle11g_R2
export ORACLE_HOME=$ORACLE_BASE/11g
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG="simplified chinese"_china.zhs16gbk;
export PATH=$PATH:$ORACLE_HOME/bin
rq=$(date +%Y%m%d)
user_name='lltf'
user_passwd='lltf_2017'
bak_dir=/u01/oradata/${user_name}/$rq
if [ ! -s $bak_dir ];then
        mkdir -p $bak_dir
fi

sqlplus / as sysdba <<EOF
drop directory dump_dir;
create directory dump_dir as '${bak_dir}';
grant read,write on directory dump_dir to ${user_name};
quit
EOF
expdp ${user_name}/${user_passwd} directory=dump_dir dumpfile=${user_name}_%U.dmp schemas=${user_name} logfile=${user_name}_${rq}_exp.log compression=ALL  filesize=1g parallel=8 

cd $bak_dir
tar -zcf lltf_dmp.tar.gz *.dmp  ${user_name}_${rq}_exp.log  && rm *.log *.dmp

cd ..
dir_name=$(date -d '-7 days' +%Y%m%d)
find . -type d  -name  $dir_name | xargs rm -rf

如果要定时备份,只需将该脚本放在cronjob中

假设每天凌晨3:00定时备份

0 3 * * * oracle  sh <该脚本绝对路径>

转载于:https://www.cnblogs.com/yldf/p/7883243.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值