Aix 5.3下自動備份Oracle多個實例[原創]

#Oracle environment variables defined
#(在下面寫上,此處隱藏)

 

#Database User Information
USERNAME=數據庫用戶名(信息隱藏)
PASSWORD=數據庫密碼(信息隱藏)

 

#Back file
FILE_PREFIX=Oracle_

 

#FTP Server Information
FTP_SERV=FTP服務器(信息隱藏)
FTP_USER=FTP用戶名(信息隱藏)
FTP_PASS=FTP密碼(信息隱藏)
FTP_DIR=FTP目錄(信息隱藏)
FTP_DIR2=FTP目錄(信息隱藏)

 

#Back directory
BACKUP_DIR=/opt/databack/App

 

#Date Format
DATE=`date +%Y%m%d`

 

#Oracle instance
EXP1=第一個ORACLE實例名稱(信息隱藏)
EXP2=第二個ORACLE實例名稱(信息隱藏)
EXP3=第三個ORACLE實例名稱(信息隱藏)

 

#Go to the backup directory
cd ${BACKUP_DIR}

 

#The first instance of the backup
export ORACLE_SID=${EXP1}
if [ -f ${EXP1}_${DATE}.dmp ]; then
    echo exp ${EXP1} `date +%Y-%m-%d` backup file already exists.
else
    exp ${USERNAME}/${PASSWORD} file=${EXP1}_${DATE}.dmp
fi

 

#The second instance of the backup
export ORACLE_SID=${EXP2}
if [ -f ${EXP2}_${DATE}.dmp ]; then
    echo exp ${EXP2} `date +%Y-%m-%d` backup file already exists.
else
    exp ${USERNAME}/${PASSWORD} file=${EXP2}_${DATE}.dmp
fi

 

#The third instance of the backup
export ORACLE_SID=${EXP3}
if [ -f ${EXP3}_${DATE}.dmp ]; then
    echo exp ${EXP3} `date +%Y-%m-%d` backup file already exists.
else
    exp ${USERNAME}/${PASSWORD} file=${EXP3}_${DATE}.dmp
fi

 

#Compressed backup files
if [ -f ${BACKUP_DIR}/${FILE_PREFIX}${DATE}.tar.gz ]; then
    echo `date +%Y-%m-%d` backup File already exists.
else
    tar -cf ${FILE_PREFIX}${DATE}.tar.gz ${EXP1}_${DATE}.dmp ${EXP2}_${DATE}.dmp ${EXP3}_${DATE}.dmp
fi

 

#Delete backup files
    rm -rf ${EXP1}_${DATE}.dmp ${EXP2}_${DATE}.dmp ${EXP3}_${DATE}.dmp

 

#Upload backup file
ftp -n $FTP_SERV <<AUTO_FTP
user $FTP_USER $FTP_PASS
passive
binary
cd $FTP_DIR
cd $FTP_DIR2
put ${FILE_PREFIX}${DATE}.tar.gz ${FILE_PREFIX}${DATE}.tar.gz
AUTO_FTP


本文來自:韋少乾博客(mven.cn)
詳細出處:http://mven.cn/post/34.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章