茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1676372 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
HoiHoiSan_00012.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2008/3/18 11:55:50
如何實現ontape零級備份自動完成

作者:hero99zy 發表時間:2002/07/03 10:28am

ontape是informix數據庫的簡單易用的備份工具,但是它必須交互進行,對數據庫的日常維護有一定的限制,比如,我們想在晚上進行備份,而不是在白天工作的時間。
下面我就簡單示例,實現ontape的自動備份,這樣我們就可以編寫一個腳本,讓操作系統在系統不忙時自動調用。

假設:
1 ) $ONCONFIG 中參數 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) 備份數據的存放目錄 /Backup ;
3) 備份過程產生的日誌文件放在/opt/informix/archive目錄下;
4) ftp.cmd 文件放在 /opt/informix/archive目錄下;
#----------Autobackup.sh Begin----------
#
#autobackup.sh
#

#?#91;載數據庫環境
. /opt/informix/setenv

#?#93;置備份日誌文件
LOGFILE=/opt/informix/archive/archive.log

#取得當前系統日期
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

#?#125;始零級備份
echo ` ` | ontape -s -L 0 >>$LOGFILE 2>&1

#將備份完成後的文件?#91;上時間戳
mv -f /Backup/archive0 /Backup/archive.$DATE >>$LOGFILE 2>&1

#壓縮備份
compress -f /Backup/archive.$DATE >>$LOGFILE 2>&1

#將備份文件傳輸到其它機器上
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
#釋放數據庫無用內存
onmode -F
#------------autobackup.sh End-----------

以上腳本可以使用操作系統的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 ----------------------

在遠端系統上同樣可以使用crontab命令來處理傳輸過去的文件。
大家可以自行修改以上腳本,使之適用於自己的環境。
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|