ITPub博客

首页 > 数据库 > Oracle > Oracle逻辑备份脚本

Oracle逻辑备份脚本

原创 Oracle 作者:jx_yu 时间:2014-12-11 17:46:52 0 删除 编辑
#!/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博客 ” ,链接:https://blog.itpub.net/27000195/viewspace-1364822/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-05-23

  • 博文量
    80
  • 访问量
    876947