#!/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 {} \;
时间: 2024-10-28 09:44:56