LINUX下使用crontab进行RMAN备份实验
之前写了脚本,手动执行可以,使用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备份实验的更多相关文章
- linux下使用crontab定时备份MYSQL数据库的方法:
摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...
- MySQL定时备份之使用Linux下的crontab定时备份实例
这篇文章主要介绍了使用Linux下的crontab进行MySQL定时备份的例子,需要的朋友可以参考下 复制代码代码如下: ##################################### ...
- linux下应用crontab对mysql数据库进行定时备份
linux下应用crontab对mysql数据库进行定时备份 @(编程) mysql数据库提供了备份命令mysqldump,可以结合crontab命令进行定时备份. 我写了一个mysqlbackup. ...
- 使用linux下的crontab定时任务跑定时脚本
使用linux下的crontab定时任务跑定时脚本 tags:定时任务 定时脚本 crontab linux定时脚本 linux 引言:应该有许多人曾经很好奇一些定时脚本是怎么做出来的.我们这次就来说 ...
- LINUX学习笔记——LINUX下EXP命令全库备份数据库文件
LINUX下EXP命令全库备份数据库文件 1)建立备份目录,目录操作权限授权给Oracle用户 mkdir /backup --创建backup文件夹 cd / --进入cd语句 ls -l ...
- linux下的crontab服务
linux下的crontab服务:1.crontab 是用来让使用者在固定时间或固定间隔执行程序之用在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现.以某一频率执行任务linux缺 ...
- [转]Caffe在Linux下的安装,编译,实验
Caffe在Linux下的安装,编译,实验 原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...
- linux下使用crontab实现定时PHP计划任务失败的原因分析
这篇文章主要介绍了linux下使用crontab实现定时PHP计划任务失败的原因分析,需要的朋友可以参考下 很多人在linux下使用crontab实现PHP执行定时任务却未能成功,不能生成缓存.本 ...
- Linux 下用 crontab 设置定时执行python 程序
Linux 下用 crontab 设置定时执行python 程序 方法/步骤 1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...
随机推荐
- 180行ruby代码搞定游戏2048
最今在玩2048这款小游戏,游戏逻辑简单,很适合我这样的对于游戏新入行的人来实现逻辑.于是选择了最拿手的ruby语言来实现这款小游戏的主要逻辑.还是挺简单的,加起来4小时左右搞定. 上代码: requ ...
- 如何写出专业级OOP程序-----文档注释
由于时间的限制就写一些通用的注释啦> @author 姓名 这个标记将产生一个作者条目,可以使用多个@author注释,每个对应一个作者. @version 文本 这个标记产生版本条目,对当前版 ...
- 内置的材质包含文件 .cginc
Unity中包含几个文件,可以用于你的Shader程序,里面包含了预定义的变量和辅助函数.使用它需要用 #include指令 CGPROGRAM // ... #include "Unity ...
- STL: generate ,geterate_n
在随机生成一定范围不重复数时用到random_shuffle函数,之前填充数组都是用for循环, 想到之前python中的range生成序列,于是在C++中找到对应的generate用来生成所需数组. ...
- C语言格式化输出,空位补0,空位补空格
char strTtimeDump[512] = ""; int a = 5; sprintf(strTtimeDump, "%.4d", a); //strT ...
- BZOJ 1051: [HAOI2006]受欢迎的牛( tarjan )
tarjan缩点后, 有且仅有一个出度为0的强连通分量即answer, 否则无解 ----------------------------------------------------------- ...
- 经典union的使用
一个用户下广告位 某一天有收入和支出 有支出不一定有收入 有收入不一定有支出 下例为按用户查询 sanhao 下的信息 支出如下: 收入如下: 按天进行查询,例如查询: 得到结果如下: 使用一 ...
- EventStore的设计思路
EventStore的设计思路 最近打算用C#实现一个基于文件的EventStore. 什么是EventStore 关于什么是EventStore,如果还不清楚的朋友可以去了解下CQRS/Event ...
- Android平台APK分析工具包androguard的部署使用和原理分析
原创文章,转载请注明出处,谢谢. Android应用程序分析主要有静态分析和动态分析两种,常见的静态分析工具是Apktool.dex2jar以及jdgui.今天突然主要到Google code上有个叫 ...
- 基于Visual C++2013拆解世界五百强面试题--题18-程序结果分析2-终结篇
第二部分程序结果分析,分析流程还是写入代码注释中 分析下面程序的输出: #include <stdio.h> int main() { char *a = "hello" ...