EXP的備份指令碼
#!/bin/sh
#Set the oracle environment variables base your actual vlaue
ORACLE_SID=ORACLE2
export ORACLE_SID
#BAK_PATH is a path that store your exp file
BAK_PATH=/home/guest/wangyushen/bak
#LOG_FILE is a file that recorde the results of export
LOG_FILE="$BAK_PATH"/`date -u +%Y%m%d`_brief.log
#Define the exp user
USER=dxh
#Define the exp user's password
PASSWD=dxh
#Determine the current user name
CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1` # `who am i | cut -d " " -f1` cuser=whoami
#Define the retention days of your backup file
DAYS=3
#******************************************************************
#It is unnecessary to edit the the below text in normal condition.*
#******************************************************************
echo "The start time is: "`date` >> $LOG_FILE
echo >> $LOG_FILE
rm_oldfile(){ find /home/guest/dxhibm/test/ -type f -mtime +1 -exec rm {} ;}
rm_oldfile>>`date -u +%Y%m%d`_brief.log
rm_oldfile(){
find $BAK_PATH -mtime +$DAYS -exec rm {} ;
}
#Remove the expire backup file
rm_oldfile>>$LOG_FILE
#Define the backup file name
BAK_FILE=`date -u +%Y%m%d`_full.dmp
#Define the backup log file name
BAK_LOG=`date -u +%Y%m%d`_full.log
#Define your backup command
CMD_STR="
exp $USER/$PASSWD@$ORACLE_SID tables=t_dxh_area,t_dxh_config,t_dxh_dxhhuser_0,t_dxh_dxhhuser_1,t_dxh_dxhhuser_2,t_dxh_dxhhuser_3,t_dxh_dxhhuser_4,t_dxh_dxhhuser_5,t_dxh_dxhhuser_6,t_dxh_dxhhuser_7,t_dxh_dxhhuser_8,t_dxh_dxhhuser_9,t_dxh_dxhuser_0,t_dxh_dxhuser_1,t_dxh_dxhuser_2,t_dxh_dxhuser_3,t_dxh_dxhuser_4,t_dxh_dxhuser_5,t_dxh_dxhuser_6,t_dxh_dxhuser_7,t_dxh_dxhuser_8,t_dxh_dxhuser_9,t_dxh_feesetup,t_dxh_localheadno,t_dxh_mobile,t_dxh_operator,t_dxh_redblacklist file=$BAK_PATH/$BAK_FILE log=$BAK_PATH/$BAK_LOG grants=y
"
#Begin backup
echo "Backup is started" >>$LOG_FILE
echo "......">>$LOG_FILE
if [ "$CUSER" = "root" ]
then
su - oracle -c "$CMD_STR" >> $LOG_FILE
RSTAT=$?
else
/usr/bin/sh -c "$CMD_STR" >> $LOG_FILE
RSTAT=$?
fi
if [ "$RSTAT" = "0" ]
then
echo "Backup to Hard disk is ended successful!" >> $LOG_FILE
else
echo "Notice! Backup hard disk is ended unsuccessful!">> $LOG_FILE
fi
echo >>$LOG_FILE
echo "Backup to Hard disk End time is: "`date`>>$LOG_FILE
compress -f $BAK_PATH/$BAK_FILE >> $LOG_FILE
if [ $? -eq 0 ]
then
echo "compress file is ended successful!" >> $LOG_FILE
echo >>$LOG_FILE
else
echo "Notice!!compress file is ended unsuccessful!" >> $LOG_FILE
echo "Please contact with Metarnet Engineer"
fi
echo "Backup to Tape End time is: "`date`>>$LOG_FILE
#backup file to oracle1
remote_path="/home/guest/wangys"
host="10.33.19.186"
username="root"
password="jsyddxh!"
cd $BAK_PATH
ftp -n -i $host<user $username $password
prompt
bi
cd $remote_path
put "$BAK_FILE".Z
bye
!FTPEND
if [ $? -eq 0 ]
then
echo "Put file to oracle1 is ended successful!" >> $LOG_FILE
echo >>$LOG_FILE
else
echo "Notice!!Put file to oracle1 is ended unsuccessful!" >> $LOG_FILE
echo "Please contact with Metarnet Engineer"
fi
rm "$BAK_FILE".Z
echo "All is done! Time is:" `date`>>$LOG_FILE
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10867315/viewspace-963996/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- windows下自動備份指令碼(exp)Windows指令碼
- windows建exp備份指令碼時的小插曲Windows指令碼
- 【Oracle指令碼】-很不錯的Windows下資料庫備份EXP指令碼Oracle指令碼Windows資料庫
- 設定自動匯出(exp)備份指令碼指令碼
- windows下oracle資料庫的exp自動備份指令碼WindowsOracle資料庫指令碼
- exp備份和rman備份的區別
- rman備份和增量備份指令碼指令碼
- ORACLE備份指令碼Oracle指令碼
- mysqldump 備份指令碼MySql指令碼
- rman 備份指令碼指令碼
- mysqldump備份指令碼MySql指令碼
- innobackupex備份指令碼指令碼
- SQLServer備份指令碼SQLServer指令碼
- SQL 備份指令碼SQL指令碼
- Mongodb 備份指令碼MongoDB指令碼
- rman備份指令碼指令碼
- oracle 備份指令碼Oracle指令碼
- mysql備份指令碼MySql指令碼
- 使用rman備份的指令碼指令碼
- CRONTAB呼叫的備份指令碼指令碼
- 備份SCHEMA資訊的指令碼指令碼
- Rman備份的shell指令碼指令碼
- windows mysqldump備份指令碼WindowsMySql指令碼
- 自動備份指令碼指令碼
- mysql innobackupex備份指令碼MySql指令碼
- rman 全備份指令碼指令碼
- rman增量備份指令碼指令碼
- windows rman備份指令碼Windows指令碼
- Windows 快速備份指令碼Windows指令碼
- ORACLE日常備份指令碼Oracle指令碼
- RMAN常用備份指令碼指令碼
- Oracle 集中備份指令碼Oracle指令碼
- 生成熱備份指令碼指令碼
- 生成冷備份指令碼指令碼
- 備份指令碼--紀錄指令碼
- oracle RMAN備份指令碼Oracle指令碼
- oracle_備份指令碼Oracle指令碼
- 搭建Oracle的exp備份機Oracle