Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1029877
  • 博文数量: 164
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1336
  • 用 户 组: 普通用户
  • 注册时间: 2016-03-11 14:13
个人简介

狂甩酷拽吊炸天

文章分类

全部博文(164)

文章存档

2023年(1)

2022年(3)

2021年(4)

2020年(17)

2019年(37)

2018年(17)

2017年(35)

2016年(50)

分类: LINUX

2016-11-09 16:53:31

概述

  Linux下Oracle自动备份就没有MSSQL那么简单,在Linux下Oracle的备份需要借助crontab 指令,crontab 能够自动执行系统定时任务,通过配置crontab 指向Oracle定时备份指令完成数据的定时备份。

编写脚本

1、编写数据库备份脚本文件(oracle_back.sh)

复制代码

#引进执行数据备份的环境

echo -e '******Start********'$(date '+%Y%m%d%H%M%S')>>/data/blog.txt #日志打印
export ORACLE_BASE=/data/oracle #oracle安装目录
export ORACLE_HOME=/data/oracle/product/11.2.0/db_1 #数据库实体名称,有些系统这个位置不同名
export ORACLE_SID=MLUCDB
export PATH=$ORACLE_HOME/bin:$PATH

rq='db'$(date '+%Y%m%d')'214001' #动态编写时间
orq='db'$(date -d'2 day ago' +'%Y%m%d')'214001' #当前时间减去2天

echo -e $rq $orq>>/data/blog.txt
expdp hao123/abc123@DB105 dumpfile=$rq.dmp log=$rq.log directory=dpdata #导出数据库文件
zip -m /data/backup/$rq.zip /data/backup/$rq.dmp /data/backup/$rq.log #压缩文件zip
find /data/backup -name $orq.zip |xargs rm -rf #压删除最近2天之外的数据
echo -e '******End**********'$(date '+%Y%m%d%H%M%S')>>/data/blog.txt

复制代码

备注:directory=dpdata是oracle的文件路径,我这里设置dpdata指向/data/backup ,同时记得将Oracle用户拥有/data/backup的文件夹所有权;

2、编辑脚本文件为可执行文件

chmod +x /data/oracle_back.sh

3、编写定时任务crontab脚本

[root@localhost data]# crontab -e 42 16 * * * /data/oracle_back.sh

#每天的16点42分自动执行脚本文件,执行完成之后,系统自动发送一封执行邮寄到root文件里面(/var/spool/mail/root)
#清空root文件内容的脚本,如果需要清理文件内容 echo>root

4、跟踪执行结果

tail -f /var/log/cron  #跟踪查询定时任务是否执行
cat /var/spool/cron/root #查询root下有那些定时任务
阅读(1142) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~