linux系统定时备份oracle

1.备份脚本


#!/bin/bash
#:本脚本自动备份7天的数据库,每次备份完成后,删除7天之前的数据。
#加载oracle的相关参数
#如果oracle参数不明确,请使用命令查看
# su - oracle 
# echo $ORACLE_HOME
# #如果是在windows中编辑命令上传脚本之后需要执行下面的命令转化为unix格式
#sed -i 's/\r$//' back-up.sh 
# 注意在编辑完脚本之后需要设置执行权限 chmod 755 back-up.sh

export ORACLE_HOME=/oracle/app/oracle/product/12.1.0/bzfg
export PATH=$ORACLE_HOME/bin:$PATH
#oracle字符集
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#获取当前时间,格式:20150210
DATE=$(date +%Y%m%d)
#获取7天之前的时间,格式:20150203
DATE_RM=$(date -d "7 days ago" +%Y%m%d)
#设置备份目录,
export DIR=/oracle/app/oracle/product/12.1.0/backup
echo $DIR
#创建日期目录
mkdir $DIR/$DATE
#开始备份,此处采用exp方式导出,根据实际情况可选用expdb数据方式导出
echo 'Oracle backup...'
cd /oracle/app/oracle/product/12.1.0/bzfg/bin
./exp bzfg/bzfg1234@bzfg  file=$DIR/$DATE'/bzfg_'$DATE'.dmp' owner=bzfg log=$DIR/$DATE'/bzfg_log_'$DATE'.log'
echo 'Oracle backup successfully.'
echo 'remove...' $DIR/$DATE_RM
rm -rf $DIR/$DATE_RM
echo 'remove successsfully.'

 

2.设置每晚定时执行

vi /etc/crontab  设置定时任务,插入如下(每天凌晨1点执行一次)
00 01 * * * root /oracle/app/oracle/product/12.1.0/backup/back-up.sh

用以下的方法启动、关闭这个cron服务: 
 

service crond start //启动服务 
service crond stop //关闭服务 
service crond restart //重启服务 
service crond reload //重新载入配置

 

你可能感兴趣的:(数据库,oracle备份,linux定时执行)