Sybase在HP小型機上的自動備份方案

中國稅收徵管信息系統(CTAIS)是國家稅務總局在全國國稅系統內推行的統一應用徵管軟件。自2001年7月1日開始在山東省國稅系統內全面啓用,目前運行方式爲地市級集中,採用Client/Server結構,各地市均配備HP小型機,操作系統爲HP-UX 11i,後臺數據庫均爲SYBASE 12.0。筆者在數據庫維護管理中,摸索出一套系統自動備份的方案,該方法簡單易行,有效地減輕了系統管理員的工作。現介紹如下。 
  一.簡介 
  本方案通過UNIX系統中的cron job實現。備份定爲每日的下班後進行,共分爲三個步驟,一是對備份目錄進行空間檢查,二是實施備份,三是將備份的文件在磁帶上建立副本。 
  二.定義權限並定製cron job 
  UNIX系統中有一條命令crontab,通過它我們可以定製cron job,它安排各命令在指定的時間間隔內執行,有定時器的功能。我們所制定的自動備份及自動檢測方案就是用它來實現的。但是,並不是每個UNIX系統的用戶都有權限使用它。 
  HP UNIX在默認情況下只有root,admin,uucp三個用戶有權限使用,這時我們需要將數據庫管理員sybase用戶添加到cron.allow文件中。首先,應以root用戶身份登錄,到路徑/var/adm/cron下確認無cron.deny文件,或該文件中無sybase這條記錄。然後,編輯cron.allow文件,將sybase 用戶添加進去,這樣,sybase用戶就有了定製cron job的權限。 
  以sybase用戶登錄後,執行crontab –e 編輯cron job, 例: 
  00 18 * * * /sybase/dump.sh 
  其中,第一條命令的意思是在每天的18∶00開始自動執行腳本文件dump.sh,對數據庫進行備份, dump.sh 的編輯在後面討論。第二條命令是在每月15日的21∶30自動執行腳本文件dbcc.sql,對數據庫進行數據的一致性檢測,其結果輸出到文件dbcc.err中。當然,我們應該根據不同情況適當調整定義的工作時間。 
  三.編輯腳本文件 
  dump.sh由crontab直接調用,存放在sybase用戶的home目錄下,它主要完成以下工作: 
  1、檢查備份目錄的空間 
  本部分實現的功能是:將目前備份目錄的空間使用率與管理員定義的上限進行比較,若超出上限,則刪除一個最早的備份文件。 
  MAX=65 ## 定義上限,可根據實際情況進行調整 ## 
  bdf | tail -1 | read AVAIL USED FREE PER MOUNT 
  USED=${PER%\%*} 
  # 
  # Test for more than 65% used 
  # 
  if [ "$USED" -gt "$MAX" ] 
  then 
  ll -t /ctais_dumps/ctais02* | tail -1 |read AA BB UUSR GGRP SSIZE MM DD TT FNAME 
  rm $FNAME 2>>/ctais_dumps/fbackup/fbackup.log 
  fi 
  2、實施備份 
  備份工作通過isql調用備份腳本實現: 
  isql -Usa -P16897766 -Sctais_sd_zb_svr -o/ctais_dumps/fbackup/dump.log -idump.sql 
  爲使sybase用戶成功執行本操作,我們應同時將sybase的環境變量定製在dump.sh中,其主要命令可參考sybase用戶的.profile文件。另外,本命令從外部讀取的備份腳本dump.sql文件的內容如下: 
  declare @ddate char(28) /* 定義一個變量,用於備份的文件名稱 */ 
  select @ddate = '/ctais_dumps/ctais' + convert(char(6), getdate(), 12) + stuff(convert(char(5), getdate(), 8),3,1,null) /* 將當前日期進行轉換 */ 
  dump database ctais to @ddate 
  go 
  說明:該腳本將當前日期進行轉換,形成備份的文件名,其格式爲: ctaisyymmddhhmi 
  3、在磁帶上建立備份的副本 
  將最新備份的文件在磁帶上建立副本,最後將磁帶內容列出到文件fbackup.log中,這樣,管理員只需查看該文件就可知道備份是否成功。 
  # 
  # use the fbackup utility 
  # backup the dump's file from the disk to the tape 
  # 
  ll -tr /ctais_dumps/ctais02* | tail -1 |read AA BB UUSR GGRP SSIZE MM DD TT BNAME 
  fbackup -f /dev/rmt/0m -i $BNAME 2>>/ctais_dumps/fbackup/fbackup.log 
  /usr/sbin/frecover -I /ctais_dumps/fbackup/index -f /dev/rmt/0m –v 
  /usr/bin/cat /ctais_dumps/fbackup/index >>/ctais_dumps/fbackup/fbackup.log 
  四.執行後的每日檢查 
  這樣一來,系統管理員只需每天查看文件dump.log和fbackup.log,就可知備份詳情,或根據錯誤報告,及時處理異常情況, 使整個系統運行時的安全性得到保障。另外需要注意的是,管理員應在每天下班前將使用過的磁帶取出,放入一個新的磁帶。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章