自動expftp備份

lsm_3036發表於2011-04-07
#!/bin/bash
#Program:
#      Autobackup according to different user and ftp data to another machine
# History:
#2010/10/26   Liu Shiming   First release
#1.Start export data
export ORACLE_SID=NACEC
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export NLS_LANG=american_america.UTF8
export LANG=en_US
export time=`date '+%y%m%d'`                                                  
export ORACLE_HOME=/home/DBSoftware/oracle/product/10.2.0/db_1 
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin 
#export nacecweb data
exp userid=nacecweb/tadernacecweb file=/backup/nacecweb$time.dmp wner=nacecweb log=/backup/nacec.log
#export turbocms data
exp userid=turbocms/taderturbocms file=/backup/turbocms$time.dmp wner=turbocms log=/backup/nacec.log
#export nacec data
exp userid=nacec/tadertader file=/backup/nacec$time.dmp wner=nacec log=/backup/nacec.log    
sleep 5s
sync;sync      
#2.Compress all the data
cd /backup
   tar -zpcf backup$time.tar.gz * --exclude backup$time.tar.gz
sleep 5s
sync;sync
#3.Drop dmp files before let the log file can't be droped
cd /backup
rm -f *.dmp
rm -f *.log
sleep 5s
sync;sync
#4.Ftp the file to another machine
id="ftpadmin"
pw='ftpadmin'
ftp -n << EOF
  open 192.168.188.58
  user $id   $pw
  bin
  lcd /backup
  cd /backup
  put backup$time.tar.gz
bye
EOF
sync;sync
#注意:
#1.兩臺機器必須都開vsftpd服務
#2.要使用oracle的使用者去執行這個指令碼
#3.在例行性命令的使用中,也要使用oracle使用者去執行;vi /etc/crontab裡面寫入00 18 * * * oracle /backup/backuplogic.sh

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

相關文章