oracle crontab未执行,oracle备份脚本加入crontab不执行

#!/bin/bash

# # Last updated: 2010-04-21

#

---------------------------------------------------------------------

# Copyright (C) 2010 lijun  #

# Email : lijun926@139.com  #

# Web :

http://www.taocaile.com/  #

# Mob : 13811533892  #

#

---------------------------------------------------------------------

set -x

#setting oracle env

export ORACLE_BASE=/opt/app/oracle

export ORACLE_HOME=/opt/app/oracle/product/10.2

export ORACLE_SID=orcl

export ORACLE_TERM=xterm

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"

export

TNS_ADMIN=/opt/app/oracle/product/10.2/network/admin

export ORA_NLS10=/opt/app/oracle/product/10.2/nls/data

export

LD_LIBRARY_PATH=/opt/app/oracle/product/10.2/lib:/opt/app/oracle/product/10.2

export

PATH=/opt/app/oracle/product/10.2/bin:$PATH

#-----------------------Date format your backup

file------------------------------------

time=$(date +"%d-%m-%Y")

#-----------------------The directory for story your backup

file-------------------------

bak_home=/data

bak_dest=/data/oracle_bak/data

mkdir -p $bak_dest/$time

#-----------------------Check the dircetory for story backup

is writeable-----------------

test ! -w $bak_dest && echo

"Error: $bak_dest is un-writeable."

&& exit 0

#-----------------------Check the directoy for story backup

the newest backup--------------

test ! -d "$bak_dest/$time" &&

mkdir -p "$bak_dest/$time"

#----------------------Create log

file-----------------------------------------------------

bak_log=/data/oracle_bak/log

#mkdir -p $bak_log/$time

#----------------------check the disk for story backup is full

and mail warn----------------

report="lijun926@139.com"

used=$(df -h|grep $bak_home|awk '{print

$5}'|sed 's/%//g')

warn=85

if [ $used -ge $warn ];then

echo "the disk $bak_home space is full and check it"|mail -s

"exp full backup failed" $report

exit 1

fi

#------------------------------starting

backup----------------------------------------------

/opt/app/oracle/product/10.2/bin/exp system/oracle@orcl full=y

buffer=65536 file=$bak_dest/$time/$time.dmp

log=$bak_log/$time.log

#-----------------------------del

oldfile------------------------------------------------

oldtime=$(date --date '10 days ago ' +'%d-%m-%Y')

cd $bak_dest

if [ -d $oldtime ]

then

rm -rf $oldtime

>>$bak_log/$time.log

echo "[$oldtime] delete old file

success!">>$bak_log/$time.log

else

echo "[$oldtime] no old

file!">>$bak_log/$time.log

fi

注意事项:

1:在脚本里面需要设置oracle的相关环境变量,并且使用export.

2:备份脚本最好再oracle用户下面执行,同时给设置oracle的相关权限。

3:脚本里面设置的oracle的环境变量最好是使用绝对路径,否则crond在执行的时候不能解释那些变量的值,造成加入cron不执行的问题。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值