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 //重新载入配置
来源:CSDN
作者:yjaspire
链接:https://blog.csdn.net/yjaspire/article/details/103490906