|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1676402
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2008/3/18 11:55 |
- Webmaster
- 註冊日: 2008/2/19
- 來自:
- 發表數: 15771
|
- [分享]如何實踐ontape零階備份自動完成
- 如何實現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命令來處理傳輸過去的文件。 大家可以自行修改以上腳本,使之適用於自己的環境。
|
|
討論串
|