Oracle邏輯備份指令碼

jx_yu發表於2014-12-11
#!/bin/ksh
######################################## inlcud global var #########################################################################
bakdir=/backup/
######################################## var end ############################################################################


baklog=$bakdir/bak.log


#expdp引數檔案
par_file=/home/oracle/parfile


#expdp使用的使用者和密碼
exp_user=oracle
exp_pwd=oracle


#expdp的schema
schema=cs


###################expdp run######################
time=`date '+%Y%m%d'`
su - oracle -c "expdp $exp_user/$exp_pwd DIRECTORY=$oradir dumpfile=$schema$time.dmp logfile=$schema$time.log parfile=$par_file"
log=$(tail -2 $bakdir/$schema$time.log)
echo "$log ">>$baklog


###################Delete Expire File##############
num=$(ls $bakdir/$schema*.dmp|wc|awk '{print $1}';)
l_num=$(ls $bakdir/$schema*.log|wc|awk '{print $1}';)
start_time=`date '+%Y%m%d%H%M'`
echo "-----------"$start_time"------------" >>$baklog
echo "delete expire dumpfile">>$baklog
while [ $num -gt $ret_num ]
do
del=$(ls $bakdir/$schema*.dmp |sort -rn |awk '{print $1}'|tail -1)
echo $del >>$baklog
rm -rf $del
num=$((num-1))
#echo $num
done
end_time=`date '+%Y%m%d%H%M'`
echo "----------"$end_time"--------------" >>$baklog
echo "delete expire log" >>$baklog
while [ $l_num -gt $ret_num ] ;do
del=$(ls $bakdir/$schema*.log |sort -rn |awk '{print $1}'|tail -1)
echo $del >>$baklog
rm -rf $del
l_num=$((l_num-1))
done
end_time=`date '+%Y%m%d%H%M'`
echo "------------$end_time--------------" >>$baklog


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27000195/viewspace-1364822/,如需轉載,請註明出處,否則將追究法律責任。

相關文章