LINUX 下 oracle 的自动备份

来源:互联网 发布:电影配乐 知乎 编辑:程序博客网 时间:2024/05/20 14:44

备份环境:

阿里云 CentOS 6.5 64位

oracle11g

备份方式:

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

备份脚本

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

<span style="font-size:12px;">#!/bin/shexport ORACLE_BASE=/mnt/oracle/appexport ORACLE_HOME=$ORACLE_BASE/oracle/productexport ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport NLS_LANG=AMERICAN_AMERICA.AL32UTF8export DATA_DIR=/mnt/oracle/backup/dataexport LOGS_DIR=/mnt/oracle/backup/logsexport DELTIME='date -d "-7 days" +%Y%m%d'export BAKUPTIME=$(date '+%Y%m%d')mkdir -p $DATA_DIRmkdir -p $LOGS_DIRecho "starting backup....."echo "back file path $DATA_DIR/$BAKUPOTIME.dmp"exp lms/oracle@orcl file=$DATA_DIR/$BAKUPTIME.dmp log=$LOGS_DIR/$BAKUPTIME.logecho "delete the file bakup before 7 days"rm -rf $DATA_DIR/$DELTIME.dmprm -rf $LOGS_DIR/$DELTIME.logecho "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
原创粉丝点击