歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

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

中國稅收征管信息系統(CTAIS)是國家稅務總局在全國國稅系統內推行的統一應用征管軟件。自2001年7月1日開始在山東省國稅系統內全面啟用,目前運行方式為地市級集中,采用Client/Server結構,各地市均配備HP小型機,操作系統為HP-UX 11i,後台 數據庫 均為SY
  中國稅收征管信息系統(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自動執行腳本文件dbclearcase/" target="_blank" >cc.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,就可知備份詳情,或根據錯誤報告,及時處理異常情況, 使整個系統運行時的安全性得到保障。另外需要注意的是,管理員應在每天下班前將使用過的磁帶取出,放入一個新的磁帶。
  

Copyright © Linux教程網 All Rights Reserved