LINUX 下 oracle 的自动备份

备份环境:

阿里云 CentOS 6.5 64位

oracle11g

备份方式:

用 cron 定时任务每天定时备份,并删除7天前的备份数据

备份脚本

将脚本保存到 /mnt/oracle/oracle_back.sh

<span style="font-size:12px;">#!/bin/sh
export ORACLE_BASE=/mnt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export DATA_DIR=/mnt/oracle/backup/data
export LOGS_DIR=/mnt/oracle/backup/logs
export DELTIME='date -d "-7 days" +%Y%m%d'
export BAKUPTIME=$(date '+%Y%m%d')

mkdir -p $DATA_DIR
mkdir -p $LOGS_DIR

echo "starting backup....."
echo "back file path $DATA_DIR/$BAKUPOTIME.dmp"

exp lms/oracle@orcl file=$DATA_DIR/$BAKUPTIME.dmp log=$LOGS_DIR/$BAKUPTIME.log

echo "delete the file bakup before 7 days"
rm -rf $DATA_DIR/$DELTIME.dmp
rm -rf $LOGS_DIR/$DELTIME.log
echo "delete done"

echo "bakup completed"</span>


添加cron任务

打开并添加任务

<span style="font-size:12px;">crontab -e</span>
按 字母 i 进入编辑模式,增加如下代码

<span style="font-size:12px;">30 4 * * * /mnt/oracle/oracle_back.sh</span>   // 每天早上 4点30分 开始运行备份任务
保存退出,并查看任务是否已添加

<span style="font-size:12px;">crontab -l</span>
启动任务

<span style="font-size:12px;">/sbin/service crond start</span>
//也可用  <span style="font-size:12px;">/sbin/service crond reload/restart/stop/start</span>   来重新启动

查看cron任务日志

<span style="font-size:12px;">tail -n 100 /var/log/cron</span>

备注:调测的小技巧

  1. 在 crontab -e  后增加   5 * * * * echo "123456" >> /mnt/t.txt   来测试任务是否执行(前面那条命令是每个小时的第5分钟向文件写入‘123456’)
  2. 用来备份的脚本,先执行一次,保证脚本正常



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值