#!/bin/bash
#####################################################
# export the whole database use exp utility. #
##################################################### #########load db profile#############################
. ~/profile/c21upg10.profile #########set nls_lang################################
db_nls_value=`sqlplus -s / as sysdba <<EOF
select userenv('language') from dual;
EXIT
EOF`
NLS_LANG=`(echo $db_nls_value | cut -d' ' -f3)`
export NLS_LANG ##########exp########################################
file_name="${ORACLE_SID}_full_`date '+%y%m%d'`.dmp"
log_name="${ORACLE_SID}_imp_`date '+%y%m%d'`.log"
backup_location=/u01/db_backup
exp \'/ as sysdba\' file=$backup_location/$ORACLE_SID/$file_name log=$backup_location/$ORACLE_SID/$log_name full=y ##########compress and delete obsoleteness###########
gzip $backup_location/$ORACLE_SID/*.dmp

后来加了一段删除冗余代码。 这段代码中要记住的有几点

1. 设置日期

date -d "-1 week" +%y%m%d
date -d "-1 day" +%y%m%d

2. 判断shell命令执行成功与否

command ; flag=$?

if [ $flag -eq 0 ]


cur_bak=$backup_location/$ORACLE_SID/${ORACLE_SID}_full_`date '+%y%m%d'`.dmp.gz
cur_bak_7=$backup_location/$ORACLE_SID/${ORACLE_SID}_full_`date -d "-1 week" +%y%m%d`.dmp.gz
cur_bak_14=$backup_location/$ORACLE_SID/${ORACLE_SID}_full_`date -d "-2 week" +%y%m%d`.dmp.gz
cur_log=$backup_location/$ORACLE_SID/${ORACLE_SID}_imp_`date '+%y%m%d'`.log
cur_log_7=$backup_location/$ORACLE_SID/${ORACLE_SID}_imp_`date -d "-1 week" +%y%m%d`.log
cur_log_14=$backup_location/$ORACLE_SID/${ORACLE_SID}_imp_`date -d "-4 week" +%y%m%d`.log if [ -a $cur_bak ] && [ -a $cur_bak_7 ] && [ -a $cur_bak_14 ] ;
then
grep "Export terminated successfully without warnings" $cur_log >/dev/null >& ; flag1=$?
grep "Export terminated successfully without warnings" $cur_log_7 >/dev/null >& ; flag2=$?
grep "Export terminated successfully without warnings" $cur_log_14>/dev/null >& ; flag3=$?
if [ $flag1 -eq ] && [ $flag2 -eq ] && [ $flag3 -eq ] ;
then
mkdir $backup_location/$ORACLE_SID/temp; flag1=$?
mv $cur_bak $backup_location/$ORACLE_SID/temp ;flag2=$?
mv $cur_bak_7 $backup_location/$ORACLE_SID/temp ;flag3=$?
mv $cur_bak_14 $backup_location/$ORACLE_SID/temp ;flag4=$?
mv $cur_log $backup_location/$ORACLE_SID/temp ;flag5=$?
mv $cur_log_7 $backup_location/$ORACLE_SID/temp ;flag6=$?
mv $cur_log_14 $backup_location/$ORACLE_SID/temp ;flag7=$?
if [ $flag1 -eq ] && [ $flag2 -eq ] && [ $flag3 -eq ] && [ $flag4 -eq ] && [ $flag5 -eq ] && [ $flag6 -eq ] && [ $flag7 -eq ] ;
then
rm $backup_location/$ORACLE_SID/*.gz ; flag1=$?
rm $backup_location/$ORACLE_SID/*.log; flag2=$?
mv $backup_location/$ORACLE_SID/temp/* $backup_location/$ORACLE_SID/; flag3=$?
rm -r $backup_location/$ORACLE_SID/temp/; flag4=$?
if [ $flag1 -eq 1 ] || [ $flag2 -eq 0 ] || [ $flag3 -eq 0 ] || [ $flag4 -eq 0 ];then
echo "send email for here0"
fi
fi
fi
else
echo "send email for here1"
fi

backup script的更多相关文章

  1. A Mysql backup script

    UseCentOS can help IT managers to get rid of the boring learning methods, quick grasp Linux technolo ...

  2. 1950261 - SAP HANA Database Backup Policy Recommendations and Regular Backup Script

    =====Symptom For SAP Business One, version for SAP HANA users, SAP HANA provides a range of database ...

  3. SharePoint 2013 How to Backup Site Collection Automatically With a PowerShell Script

    In this post I will introduce a way how to run a script for backing up SharePoint data which could b ...

  4. Odoo Auto Backup Database And Set Linux task schedualer

    First ,Write Database Backup Script: pg_dump -Fc yourdatabasename > /home/yourfilepath/yourdataba ...

  5. Python mysql backup

    http://www.linuxidc.com/Linux/2015-02/113057.htm ------------- #!/usr/bin/python#################### ...

  6. 一键备份脚本 backup.sh

    做网站最重要的是什么?数据!数据,是网站之本,备份,是每一个站长都应该重视的事情.但同时,备份也是一件繁琐和重复的事情.所以,这些事情,肯定能做到自动化的.下面来介绍一下这个一键备份脚本 backup ...

  7. postgresql backup

    #!/bin/sh # Database backup script # Backup use postgres pg_dump command: # pg_dump -U <user> ...

  8. MySQL备份还原——AutoMySQLBackup介绍

    AutoMySQLBackup是一个开源的MySQL备份脚本.可以说它是一个轻量级的备份方案,AutoMySQLBackup的安装.配置非常简单.方便.AutoMySQLBackup的sourcefo ...

  9. MySQL高可用架构之MHA

    简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是 ...

随机推荐

  1. codevs1163访问艺术馆(树形dp)

    1163 访问艺术馆  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master   题目描述 Description 皮尔是一个出了名的盗画者,他经过数月的精心准备, ...

  2. 动态规划DP入门

    百度百科↓ 动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法.20世纪50年代初美国数学家R.E.Bellman ...

  3. 349 Intersection of Two Arrays 两个数组的交集

    给定两个数组,写一个函数来计算它们的交集.例子: 给定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].提示:    每个在结果中的元素必定是唯一的.    我们 ...

  4. easyui textbox 内容改变事件 增加oninpu 类似事件,

    //======================利用easyui验证功能,进行内容变化监控=== =============$(function () { var CustomerService = ...

  5. 属性字符串(NSAttributedString)的简单应用

    属性字符串NSAttributedString 可以对字符串附加格式信息,由于对于对不同文本片段使用不同的格式,属性字符串类特别合适. IOS 6中对样式文本有了大改善,大部分主要的UIKit控件都允 ...

  6. yield让代码更加简洁

    不能传入out或ref public IEnumerable<Shop> GetShop() { ; i < ; i++) { yield return new Shop { ID ...

  7. python框架之虚拟环境的配置

    在开发过程中,往往同一台电脑要开发不同的项目,不同的项目可能需要不同版本的包,为了解决这个问题就引出了虚拟环境. 配置虚拟环境: 1.安装虚拟环境: sudo pip3 install virtual ...

  8. js中添加node.js语法支持

    File——>settings

  9. 删除过期备份报错RMAN-06207 RMAN-06208解决方案

    RMAN备份日志中出现了警告 日志文件目录如下: [root@erpdbs rmanback]# ll total 88 -rw-r--r-- 1 oraprod dba 81011 Sep 7 22 ...

  10. (转)Hibernate的配置详解

    http://blog.csdn.net/yerenyuan_pku/article/details/65041077 在<Hibernate快速入门>一文中,我有讲到Hibernate的 ...