[ 作者:大夢 轉(zhuǎn)貼自:http://www.91talk.net 點擊數(shù):250 文章錄入:sdccf ] ontape是informix數(shù)據(jù)庫的簡單易用的備份工具,但是它必須交互進行,對數(shù)據(jù)庫的日常維護有一定的限制,比如,我們想在晚上進行備份,而不是在白天工作的時間。 下面我就簡單示例,實現(xiàn)ontape的自動備份,這樣我們就可以編寫一個腳本,讓操作系統(tǒng)在系統(tǒng)不忙時自動調(diào)用。 假設: 1 ) $ONCONFIG 中參數(shù) TAPEDEV已設置 TAPEDEV /Backup/archive0 # Tape device path TAPEBLK 16 # Tape block size (Kbytes) TAPESIZE 2000000 # Maximum amount of data to put on tape (Kbytes) 2) 備份數(shù)據(jù)的存放目錄 /Backup ; 3) 備份過程產(chǎn)生的日志文件放在/opt/informix/archive目錄下; 4) ftp.cmd 文件放在 /opt/informix/archive目錄下;
#----------Autobackup.sh Begin----------
# #autobackup.sh #
#加載數(shù)據(jù)庫環(huán)境 . /opt/informix/setenv
#設置備份日志文件 LOGFILE=/opt/informix/archive/archive.log
#取得當前系統(tǒng)日期 DATE=`date +%Y%m%d`
echo "---------- INformIX SYSTEM BACKUP(`date +%c`) ----------" >>$LOGFILE 2>&1
#生成一個備份的目標文件 touch /Backup/archive0 >>$LOGFILE 2>&1 chown informix:informix /Backup/archive0 >>$LOGFILE 2>&1 chmod 660 /Backup/archive0 >>$LOGFILE 2>&1
#開始零級備份 echo ` ` | ontape -s -L 0 >>$LOGFILE 2>&1
#將備份完成后的文件加上時間戳 mv -f /Backup/archive0 /Backup/archive.$DATE >>$LOGFILE 2>&1
#壓縮備份 compress -f /Backup/archive.$DATE >>$LOGFILE 2>&1
#將備份文件傳輸?shù)狡渌鼨C器上 cp -f /Backup/archive.$DATE.Z /Backup/ftp >>$LOGFILE 2>&1 ftp -n < /opt/informix/archive/ftp.cmd rm -f /Backup/ftp/* >>$LOGFILE 2>&1
#刪除5天前的備份 COUNTS=`ls /Backup|sort|wc -l` echo "There is $COUNTS files in /Backup..." >>$LOGFILE 2>&1 if [ $COUNTS -ge 7 ] then echo "An oldest file will be delete ,please wait..." >>$LOGFILE 2>&1 OLDFILE=`ls /Backup|sort|head -1` >>$LOGFILE 2>&1 cd /Backup rm -f $OLDFILE >>$LOGFILE 2>&1 echo "Delete file completed ,$OLDFILE was deleted." >>$LOGFILE 2>&1 else echo "There is no more then 6 file ,nothing to do..." >>$LOGFILE 2>&1 fi
#釋放數(shù)據(jù)庫無用內(nèi)存 onmode -F
#------------autobackup.sh End-----------
以上腳本可以使用操作系統(tǒng)的crontab命令,指定時間,自動運行,不用人工干預。 另外附上使用ftp命令的自動傳輸教本。
#------------ftp.cmd begin---------------------------
open 9.185.43.62
User backup backup123
cd /RemoteBackup
bin
bin
bin
bin
put /Backup/ftp/* /RemoteBackup/archive0
Bye #--------------------------ftp.cmd end ----------------------
在遠端系統(tǒng)上同樣可以使用crontab命令來處理傳輸過去的文件。 大家可以自行修改以上腳本,使之適用于自己的環(huán)境。 | | |