通过shell脚本实现对oracle RMAN备份集压缩并异地备份

1、背景说明

公司磁带库坏了。。每天oracle的备份往哪里放?

2、备份方式重新规划

原备份方式

现备份方式

3、备份脚本分享

小白写了一个备份的shell脚本,分享出来

#!/bin/bash
# tar oraclebackup file  

# check RMAN is run?
#我做RMAN备份的时候都会创建一个RMAN日志,所以此日志就可以判断我的RMAN是否执行了
filename="/mnt/rman/log/RmanBackup_`date +%y%m%d`.log"  
comparedata="Recovery Manager complete."

if [ -e $filename ];then
    echo "`date` RMAN is run" &>> /OPS/tarlog
else
    echo "`date` RMAN is not run,please check" &>> /OPS/tarlog
    exit 1
fi

# check RMAN is OK?
#通过判断我的日志最后结果,判断RMAN备份是否成功,如果没有成功,我也没必要备份了
data=`tail -1 $filename`
if [ "$data" == "$comparedata" ];then
    echo "`date` Rman backup sucess" &>> /OPS/tarlog
else
    echo "`date` Rman backup fail" &>> /OPS/tarlog
    exit 2
fi

# tar backupfile and move to backupserver
#将当天的备份集压缩备份出来并move至对应nfs提供的文件夹,我300GB的备份压缩后只要30个G,压缩比还是很惊人的
/usr/bin/find /mnt/rman -name ‘oradb1*‘ > /OPS/tarlist
for i in `/bin/cat /OPS/tarlist`;do
    echo "`date` tar $i start" &>> /OPS/tarlog
    tar -zcvf $i.tar.gz $i &>> /OPS/tarlog 
done

if [ $? -eq 0 ];then
    echo "`date` tar end success" &>> /OPS/tarlog
    mv /mnt/rman/*.tar.gz /oraclebackup
    if [ $? -eq 0 ];then
        echo "`date` move to oraclebackup end success" &>> /OPS/tarlog
    else
        echo "`date` move to oraclebackup fail" &>> /OPS/tarlog
    fi

else
    echo "`date` tar fail" &>> /OPS/tarlog
fi
时间: 2024-10-10 17:10:11

通过shell脚本实现对oracle RMAN备份集压缩并异地备份的相关文章

利用shell脚本实现对mysql数据库的备份

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #!/bin/bash     #保存备份个数  number=3  #备份保存路径  backup_dir=/root/mysqlbackup  #日期  dd=`date +%Y%m%d`  #备份工具  tool=mysqldump  #用户名  username=mracale  #密码  pass

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性 作者:赵全文  网名:guestart 我们生产环境的Oracle数据库都做了RMAN备份,是采用了一周的RMAN备份保留策略:除了使用RMAN备份以外,我们还使用了爱数(Eisoo)备份软件来进行备份,可以说是做到了有备无患.可是,如果有一天,Oracle数据库由于主机层面硬件原因或是数据库层面的原因不能对外提供高可用服务的时候,假设数据丢了一大部分,我们只有用RMAN备份来进行恢复,再如果发现,RMAN备份失效了,那就往地缝里

利用SHELL脚本实现将Oracle数据库的每日EXPDP导出文件复制到远程服务器

利用SHELL脚本实现将Oracle数据库的每日EXPDP导出文件复制到远程服务器 作者:赵全文 网名:guestart 我们有一套生产环境的Oracle数据库,虽然每天都有RMAN备份,但是也招架不住开发人员隔三差五就说要恢复几张表的前几天的数据到生产环境当中,针对这样的需求,用RMAN来恢复某几张表的数据就显的特别费劲了.于是我决定用Oracle数据库的逻辑备份工具EXPDP(数据泵导出)专门导出特定用户下的所有表的数据,并在每天凌晨4点通过LINUX操作系统的CRONTAB的计划任务定时执

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

用 Python 脚本实现对 Linux 服务器的网卡流量监控

*这篇文章网上已经有相关代码,为了加深印象,我做了相关注释,希望对朋友们有帮助 工作原理:基于/proc文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新引导内核系统,这是通过/proc 虚拟文件系统实现的./proc 文件虚拟系统是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做"/proc"),这个伪文件系统允许与内核内部数据结构交互,获取有关进程的有用信息,在运行中(on the fly)改变设置(通过改变内核参

keepalived结合nginx状态检测脚本实现对web服务器集群的高可用

实验环境 两台CentOS-7.5虚拟机web1:10.0.11.203web2:10.0.11.204VIP :10.0.11.210web类型:nginx客户端:自用笔记本(win10)nginx状态检测脚本:ck_nginx.sh 实验一.使用keepalived简单实现web集群的高可用功能 1.准备两台web服务器 1)web1网卡情况[[email protected] ~]# [[email protected] ~]# ip a 2)web2网卡情况[[email protect

Linux下添加shell脚本使得nginx日志每天定时切割压缩

Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常时查日志,还是使用"GoAccess"等工具对日志进行分析都将会变得非常麻烦.因此,每天定时对nginx日志进行切割压缩就非常有必要了 二 实现 我的实现思路是每天晚上接近12点时定时执行脚本.其脚本内容就是将当前的nginx日志先按照当天日期进行重命名接着进行压缩,最后是新建空白的ngi

sqlserver 备份文件管理,与异地备份

1.sqlserver 自动执行 exec ManagerDB.dbo.[del_bak] 备份DB ManagerDB.dbo.[del_bak] 相关脚本 参看 如下链接: http://dwchaoyue.blog.51cto.com/2826417/1439126 2.window 自动化任务 D:\script\Backup.bat 压缩文件 ,传送到备份服务器 文件 D:\script\Backup.bat 内容如下: rar a -k -r -s -m3     D:\WinRAR

Linux/Unix shell 脚本中调用SQL,RMAN脚本

Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可少的技能之一.本文针对Linux/Unix shell脚本调用sql, rman 脚本给出了相关示例. 一.由shell脚本调用sql,rman脚本 [python] view plain copy print? 1.shell脚本调用sql脚本 #首先编辑sql文件 [email protecte