Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份相关的知识,希望对你有一定的参考价值。

#!/bin/bash
#设置Oracle数据库运行账号及oracle的系统环境变量
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10g
export ORACLE_SID=test
export PATH=$ORACLE_HOME/bin:$HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib
export LANG=zh_CN.UTF-8
export NLS_LANG=‘SIMPLIFIED CHINESE_CHINA.ZHS16GBK‘
#获取系统当前日期时间
date=`date +%Y%m%d%H%M%S`
#设置删除60天之前的备份文件
days=60
#备份此用户下面的数据
orowner=oracle
#备份数据库名称
bakuser=user
#执行备份的密码
bakpass=pass
#备份文件路径,需要提前创建好
bakdir=/data/backup/oracle/backup/
#备份数据库名称
bakdata=$orowner"_"$date.dump
#备份执行时候生成的日志文件名称
baklog=$orowner"_"$date.log
#最后保存的Oracle数据库备份文件
ordatabak=$orowner"_"$date.tar.gz
#进入目录
cd $bakdir
#执行备份
exp $bakuser/$bakpass grants=y owner=$bakuser file=$bakdir/$bakdata log=$bakdir/$baklog &> /dev/null
#压缩备份文件和日志文件
tar -zcf $ordatabak $bakdata $baklog
#删除备份文件
find $bakdir -type f -name "*.log" -exec rm {}  \;
#删除日志文件
find $bakdir -type f -name "*.dump" -exec rm {}  \;
#删除60天前的备份
find $bakdir -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;

本文出自 “追梦” 博客,请务必保留此出处http://sihua.blog.51cto.com/377227/1966422

以上是关于Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份的主要内容,如果未能解决你的问题,请参考以下文章

linux下,批量进行oracle/mysql数据自动备份

Aix/Linux下自动备份oracle数据库

(转)linux自动备份oracle数据库并上传到备份服务器 脚本实现

Linux下Oracle定时自动备份方案

linux上自动执行oracle

Oracle 自动化备份脚本