之前写了脚本,手动执行可以,使用crontab总是无法运行成功,今天下午花了两个小时实验,完成如下:
注意事项:脚本完成首先手动执行,确定可以正常执行。

在crontab中使用,要注意以下几点:

1.要定义环境变量,即使是使用的ORACLE用户crontab -e编辑的。source /home/oracle/.bash_profile或者直接将/home/oracle/.bash_profile内容放在备份脚本最前面。

2.然后注意脚本中调用RMAN时要用绝对路径,不然使用crontab无法运行成功。如:/u01/app/oracle/product/11.2.0/dbhome_1/bin/rman  

3.生成日志为文件名+日期时,LINUX中是date "+%Y%m%d/%H:%M:%S" ,UNIX上,使用`date +%y%m%d`。Windows上,使用%date:~12%,其中12是取日期,可以改成其它需要的数字。

下面是备份脚本及LINUX中设置crontab.

一、备份脚本格式如下:只用了一个备份归档日志的脚本,比全备速度快方便实验。更多脚本参考上一篇博客。

[oracle@oel-01 ~]$ cat archback.sh

#!/bin/sh

#su - oracle


source /home/oracle/.bash_profile

#########back arch test 0704


/u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/rman-arch`date +%Y%m%d-%H%M`.log <<EOF

connect target /;

run{

backup archivelog all delete input

format '/backup/archlog/arch_%d_%T_%s';

}

exit

二、在LINUX中设置crontab定时任务。在7月4号16点53分执行。

[oracle@oel-01 ~]$ crontab -e

53 16 4 7 * /home/oracle/archback.sh

按SHIFT+ZZ保存和在VI里一样哈哈。这里设置的是7月4号的16点53执行。

[oracle@oel-01 ~]$ crontab -l

53 16 4 7 * /home/oracle/archback.sh

[oracle@oel-01 ~]$

这样就可以了。

三、使用archback.sh 脚本生成的日志:

[oracle@oel-01 ~]$ ls -al
rman-arch20130704-1653.log

-rw-r--r-- 1 oracle oinstall 1246 Jul  4 16:53 rman-arch20130704-1653.log

[oracle@oel-01 ~]$ cat rman-arch20130704-1653.log

Recovery Manager: Release 11.2.0.1.0 - Production on Thu Jul 4 16:53:01 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

RMAN>

connected to target database: BYS001 (DBID=2041679290)

RMAN> 2> 3> 4>

Starting backup at 04-JUL-13

current log archived

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=41 device type=DISK

channel ORA_DISK_1: starting archived log backup set

channel ORA_DISK_1: specifying archived log(s) in backup set

input archived log thread=1 sequence=19 RECID=111 STAMP=819910382

channel ORA_DISK_1: starting piece 1 at 04-JUL-13

channel ORA_DISK_1: finished piece 1 at 04-JUL-13

piece handle=/backup/archlog/arch_BYS001_20130704_119 tag=TAG20130704T165302 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/oracle/archbys001/arch_19_1_818895125.arc RECID=111 STAMP=819910382

Finished backup at 04-JUL-13

Starting Control File and SPFILE Autobackup at 04-JUL-13

piece handle=/backup/ctl_c-2041679290-20130704-04 comment=NONE

Finished Control File and SPFILE Autobackup at 04-JUL-13

RMAN>

Recovery Manager complete.

四、有的文档上说需要设置完crontab再进入 root用户,重启CROND服务。我的实验中未重启因为CROND就在运行着。

我这里CROND就在打开着,不需要重启就行,也可以去重启下 。

重启的示例如下 :

[oracle@oel-01 ~]$ su - root

Password:

[root@oel-01 ~]# service crond status

crond (pid  27777) is running...

[root@oel-01 ~]# service crond restart

Stopping crond:                                            [  OK  ]

Starting crond:                                            [  OK  ]

查看cron的日志:

[root@oel-01 ~]# cd /var/log

[root@oel-01 log]# tail cron

Jul  4 17:01:01 oel-01 crond[28305]: (root) CMD (run-parts /etc/cron.hourly)

Jul  4 17:02:50 oel-01 crontab[28313]: (oracle) BEGIN EDIT (oracle)

Jul  4 17:02:54 oel-01 crontab[28315]: (oracle) BEGIN EDIT (oracle)

Jul  4 17:02:58 oel-01 crontab[28317]: (oracle) BEGIN EDIT (oracle)

Jul  4 17:03:11 oel-01 crontab[28317]: (oracle) REPLACE (oracle)

Jul  4 17:03:11 oel-01 crontab[28317]: (oracle) END EDIT (oracle)

Jul  4 17:03:27 oel-01 crontab[28321]: (oracle) LIST (oracle)

Jul  4 17:04:01 oel-01 crond[27777]: (oracle) RELOAD (cron/oracle)

Jul  4 17:05:21 oel-01 crond[28396]: (CRON) STARTUP (V5.0)

Jul  4 17:05:21 oel-01 crond[28396]: (CRON) @reboot jobs will be run at computer's startup. ()

五、关于cron定时命令

cron
/etc/cron.allow  /etc/cron.deny    使用与at相同
-u    只有ROOT才能进行这个任务
-e    编辑crontab的工作内容,主要针对使用者的cron设计
-l    查阅crontab的工作内容
-r    移除所有crontab工作内容,

代表意义  分钟  小时  日期  月仹  周   指令
数字范围  0-59  0-23  1-31  1-12  0-7  指令
*代表任何时刻 0 12 * * * ls /root 每一天的12点整开始执行
,代表分隔时段0 3,6 * * * ls    不写是3点还是6点都执行
-代表一段时间范围内 20 8-12 * * * ls    8 9 10 12 12点的20分都执行
/n 代表数字,是第N个间隔 */5 * * * * ls  每五分钟执行一次,也可以写成0-59/5

每个crontab都只有一个档案存在,在/var/spool/cron里,指令下达最好用绝对路径

注意事项
资源分配不均的问题 比如同时进行多个耗费系统资源的命令时,注意将其分开,
取消不需要的输出  /dev/null
周与日不可同时并存
出现非自己设定的cron 注意系统安全了。。。

LINUX下使用crontab进行RMAN备份实验的更多相关文章

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

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

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

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

  3. linux下应用crontab对mysql数据库进行定时备份

    linux下应用crontab对mysql数据库进行定时备份 @(编程) mysql数据库提供了备份命令mysqldump,可以结合crontab命令进行定时备份. 我写了一个mysqlbackup. ...

  4. 使用linux下的crontab定时任务跑定时脚本

    使用linux下的crontab定时任务跑定时脚本 tags:定时任务 定时脚本 crontab linux定时脚本 linux 引言:应该有许多人曾经很好奇一些定时脚本是怎么做出来的.我们这次就来说 ...

  5. LINUX学习笔记——LINUX下EXP命令全库备份数据库文件

    LINUX下EXP命令全库备份数据库文件 1)建立备份目录,目录操作权限授权给Oracle用户 mkdir /backup  --创建backup文件夹 cd  /   --进入cd语句 ls  -l ...

  6. linux下的crontab服务

    linux下的crontab服务:1.crontab 是用来让使用者在固定时间或固定间隔执行程序之用在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现.以某一频率执行任务linux缺 ...

  7. [转]Caffe在Linux下的安装,编译,实验

    Caffe在Linux下的安装,编译,实验  原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...

  8. linux下使用crontab实现定时PHP计划任务失败的原因分析

    这篇文章主要介绍了linux下使用crontab实现定时PHP计划任务失败的原因分析,需要的朋友可以参考下   很多人在linux下使用crontab实现PHP执行定时任务却未能成功,不能生成缓存.本 ...

  9. Linux 下用 crontab 设置定时执行python 程序

    Linux 下用 crontab 设置定时执行python 程序 方法/步骤   1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...

随机推荐

  1. Lua环境配置 windows + VS

    环境搭建: 首先从 http://www.lua.org/ftp/下载lua 源码, 我选择的是lua-5.1.5.tar.gz 我的开发环境是Win7+ VS2010 打开VS2010新建一个工程L ...

  2. Android学习路线(二十)运用Fragment构建动态UI

    要在Android系统上创建一个动态或者多面板的用户界面,你须要将UI组件以及activity行为封装成模块.让它可以在你的activity中灵活地切换显示与隐藏. 你可以使用Fragment类来创建 ...

  3. eclipse自动生成的appcompat_v7出错

    用eclipse新建Android工程时,自动生成的appcompat_v7出错,有个红色交叉,而且新建的Android工程有一个红色感叹号. 这时你去看看你新建的Android工程是不是没有生成R文 ...

  4. ORACLE 计算节假日

    create or replace function get_workday(starTime in date,endTime in date) return number is Weekends n ...

  5. [Jobdu] 题目1367:二叉搜索树的后序遍历序列

    题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 输入: 每个测试案例包括2行: 第一行为1个整数 ...

  6. [NOIP2012提高组] CODEVS 1200 同余方程(扩展欧几里德算法)

    数论题..所有数论对我来说都很恶心..不想再说什么了.. ------------------------------------------------ #include<iostream&g ...

  7. java 静态内部类特点

    1.静态内部类可以在外部类的静态成员中访问或者实例化(非静态内部类不可以)---优势 2.静态内部类可以访问外部类的静态成员不可以访问非静态成员(非静态内部类可以访问类的静态和非静态成员)---限制 ...

  8. Bandwidthd+Postgresql数据库配置笔记

    Bandwidthd+Postgresql数据库配置笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/zjianbo/article/detai ...

  9. 【转】DevExpress控件安装

    原文链接: DevExpress控件安装.汉化使用教程 - 田园里的蟋蟀 学习网址: 1.DevExpress控件中文网 2.DevExpress控件中文网使用教程 3.DevExpress控件使用经 ...

  10. Windows Azure 网站 (WAWS) 中的服务器端包含 (SSI)

     编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Erez Benari 撰写. Windows Azure 网站客户普遍关心的一个问题是关于我们对服务器端包含(Server ...