码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2017-09-18 18:17:34      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:oracle   linux   

#!/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数据库并删除指定天数前的备份

标签:oracle   linux   

原文地址:http://sihua.blog.51cto.com/377227/1966422

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!