#!/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. [Swift通天遁地]七、数据与安全-(2)对XML和HTML文档的快速解析

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  2. Java8080端口被占用解决办法

    netstat -ano | findstr 8080 taskkill -pid 3196-f

  3. redis-数据结构以及使用场景分析

    目录 redis 常见数据结构以及使用场景分析 key String Hash List Set Sorted Set Bitmap和HyperLogLog Pub/Sub redis 常见数据结构以 ...

  4. 微信小程序调用微信支付

    1,首先我们先缕清支付的整个流程,详见https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_4&index=3,第一 ...

  5. springboot自定义常量配置

    现在你建一个类: import org.springframework.boot.context.properties.ConfigurationProperties; /** * Created b ...

  6. [ CTSC 2007 / BZOJ 2151 ] Backup / 种树

    \(\\\) \(Description\) 给出一个数轴上\(N\)个点的坐标\(A_i\),选择\(K\)个点对,使得这\(K\)个点对每个点对的距离之和尽可能小. \(N\in [0,10^5] ...

  7. fcc 响应式框架Bootstrap 练习1

    需要通过添加下列代码到你的HTML开头来将Bootstrap添加到任意应用中: <link rel="stylesheet" href="//cdn.bootcss ...

  8. html5——3D案例(立体汉字,旋转导航)

    1.立体汉字:旋转点left,attr(data-cont)可获取自定义属性值,skewY(倾斜转换)参考地址 2.旋转导航:先移动后旋转,li标签需要延迟执行旋转 注意::hover事件触发自己的: ...

  9. JS——属性绑定

    1.普通形式 <script> var stu = new Object(); stu.name = "ww"; console.log(stu);//{name: & ...

  10. Hibernate自动事务揪出的编码不规范

    最近重构的项目(Java初学中),Service层一个获取通知记录报错: org.springframework.dao.InvalidDataAccessResourceUsageException ...