oracle定时备份与删除N天前备份文件

oracle定时备份数据库,以及删除7天前备份的数据。

1、创建存放备份目录:

mkdir /home/oracle/data_backup

mkdir /home/oracle/log_backup

2、编辑脚本oracle_backup.sh,内容如下:

#!/bin/sh

export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export DATA_DIR=/home/oracle/data_backup
export LOGS_DIR=/home/oracle/log_backup
export BAKUPTIME=`date +%Y%m%d%H%M%S`

 

echo "Starting bakup..."
echo "Bakup file path $DATA_DIR/$BAKUPTIME.dmp"
exp shop/lyisABC0987@orcl file=$DATA_DIR/$BAKUPTIME.dmp log=$LOGS_DIR/$BAKUPTIME.log

echo "Delete the file bakup before 10 days..."
find $DATA_DIR -mtime +10 -name "*.dmp" -exec rm -rf {} \;
echo "Delete the file bakup successfully. "

echo "Bakup completed."

 脚本中:

$DATA_DIR:数据库备份文件存放目录

-mtime 固定写法

+10:10天前

"*.dmp" 后缀为dmp的文件将全部被删除

2、添加到任务调度

 crontab -u oracle -e

* 3 * * * /home/bakup/bakup.sh
即每天凌晨3点进行备份
如需每天备份多次,可设置不同时间段备份:
例如:* 3,13,18 * * * /home/bakup/bakup.sh,即每天3点、13点、18点进行备份。
说明:文件备份目录,用户oracle必须有更改权限,否则无法备份。

转载于:https://www.cnblogs.com/czrwxw/p/3796340.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值