这里以oradatabak.sh(里面的内容要根据实际修改)脚本放在/u01/11g/datapump下为例:

#1.添加脚本执行权限

chmod +x /u01/11g/datapump/oradatabak.sh

#2.在oracle用户下添加定时任务,每天晚上23点,以oracle用户执行oradatabak.sh备份文件

su - oracle

crontab -e

00 23 * * * /u01/11g/datapump/oradatabak.sh

#3.重启crond

service crond restart

#4.oradatabak.sh脚本内容如下:

#!/bin/bash
#:本脚本自动备份1天的数据库,每次备份完成后,删除1天之前的数据。
#加载oracle的相关参数
#如果oracle参数不明确,请使用命令查看
# su - oracle
# echo $ORACLE_HOME
export ORACLE_BASE=/u01/11g
export ORACLE_HOME=/u01/11g/product/11.2.0
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
#oracle字符集
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#ORACLE_HOME
ORACLE_HOME=/u01/11g/product/11.2.0
#获取当前时间,格式:20150210
DATE=$(date +%Y%m%d)
#删除1天前的文件
days=1
#执行备份的用户
bakuser=TEST
#执行备份的用户密码
bakuserpass=TEST
#服务器IP
IP=192.168.0.1
#dumpfilename
dumpfilename=$bakuser"_"$DATE
#设置备份目录
export backup_dir=/u01/11g/datapump
#开始备份,此处采用expdp数据方式导出
echo "start oracle backup ..."
#echo $ORACLE_HOME/bin/expdp $bakuser/$bakuserpass schemas=$bakuser dumpfile=$dumpfilename.dmp directory=DPDATA logfile=$dumpfilename.log
$ORACLE_HOME/bin/expdp $bakuser/$bakuserpass@$IP/orcl schemas=$bakuser dumpfile=$dumpfilename.dmp directory=DPDATA logfile=$dumpfilename.log
echo 'Oracle backup successfully.'
#开始压缩
cd $backup_dir
echo "开始压缩..."
tar zcvf $dumpfilename.tar.gz $dumpfilename.dmp
echo "压缩完毕"
#删除.dmp文件
rm -rf $dumpfilename.dmp
#删除1天前的备份文件
echo 'remove files one day ago...'
find $backup_dir -type f -name "*.tar.gz" -mtime +$days -exec rm -f {} \;
find $backup_dir -type f -name "*.log" -mtime +$days -exec rm -f {} \;
echo 'remove successsfully.'

32. linux下oracle数据库定时备份的更多相关文章

  1. windows下oracle数据库定时备份与压缩批处理脚本(win7/win2008亲测通过)

    第一种方式:全备份,并直接覆盖原来的备份文件,固定命名. 脚本: @echo off exp system/a123@HZPG file=e:\db_backup\oradata.dmp log=e: ...

  2. linux下使用crontab定时备份MYSQL数据库的方法:

    摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...

  3. Windows下Oracle数据库自动备份批处理脚本

    expdb命令版本 @echo off REM ########################################################### REM # Windows Se ...

  4. linux下oracle数据库字符集修改

    linux下oracle数据库字符集修改 0.RHEL6.7.oracle11gr2 1.登录oracle.在安装oracle的用户下进入数据库. $ sqlplus / as sysdba 2.查询 ...

  5. linux下oracle数据库的启动

    linux下oracle数据库的启动 一.切换oracle用户 命令:su - oracle 二.运行sqlplus命令,进入sqlplus环境 命令:sqlplus /nolog (nolog参数表 ...

  6. MySQL定时备份之使用Linux下的crontab定时备份实例

    这篇文章主要介绍了使用Linux下的crontab进行MySQL定时备份的例子,需要的朋友可以参考下   复制代码代码如下: ##################################### ...

  7. Linux下使用crontab定时备份日志

    上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 ...

  8. windows下mysql数据库定时备份。

    注意:看本教程先必须会windows自带的"任务计划程序". 首先创建一个bat后缀的文件我的是timerExecutePhp.bat文件 timerExecutePhp.bat ...

  9. Linux下Oracle数据库的安装

    记录详细过程以备使用 一.准备安装 为了确保Oracle数据库11g能够成功安装,您需要做好准备工作,例如检查网络配置.更改Linux内核参数.创建用户Oracle.创建安装目录.设置用户Oracle ...

随机推荐

  1. Android开发 ---多线程操作:Handler对象,消息队列,异步任务下载

    效果图: 1.activity_main.xml 描述:定义了六个按钮 <?xml version="1.0" encoding="utf-8"?> ...

  2. 测试同学必备抓包工具--charles之mock数据

    charles中有三个是我经常用到来mock数据的. 一. 打断点--Breakpoints 1. 先切换查看‘Structure’模式 2. 找到目标链接,对其父级进行打断点,如图 3. 取消掉再次 ...

  3. ios中模态弹窗用法及UINavigationController基本用法

    - (void)viewDidLoad { [super viewDidLoad]; //点击按钮跳转 loginViewController *vc=[[loginViewController al ...

  4. 100道Java基础面试题收集整理(附答案)

    不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Cl ...

  5. 关于c风格的字符串的基本函数

    1.两个字符串的比较 //如果两个字符串相等 strcmp(s1,s2)=; //如果s1>s2 strcmp(s1,s2)>; //如果s1<s2 strcmp(s1,s2)< ...

  6. html(二)常见符号

    HTML当中的常见实体内容:

  7. hdu5003 Osu!排序实现水题

    Osu! is a famous music game that attracts a lot of people. In osu!, there is a performance scoring s ...

  8. Inotify机制的简单应用

    编程之路刚刚开始,错误难免,希望大家能够指出. 一.Inotify机制 1.简单介绍inotify:Inotify可用于检测单个文件,也可以检测整个目录.当检测的对象是一个目录的时候,目录本身和目录里 ...

  9. .NET平台

    .nat 是一种跨语言的平台 类跟对象回顾 由于对象归纳类 是归纳对象共性的过程 在类似的基础上  将状态和行为实体话为对象的过程称为实例话 只写属性   只包含set访问器 只读属性  只包含get ...

  10. excel 表格粘贴到word 显示不完整

    左上角,十字点,右键,取消固定宽度即可: