郭林旺 胡玉良
1)中國山西 041000 臨汾中心地震臺
2)中國太原 030021 山西省地震局
3)中國山西 030025太原大陸裂谷動力學國家野外科學觀測研究站
地震前兆臺網承擔著前兆觀測數據的匯集、處理、存儲、報送與歸檔任務。現有地震前兆技術系統主要包含Suse linux操作系統、Oracle數據庫、中國地震前兆臺網數據管理系統等軟件,分別部署在1臺或者數臺服務器上。在日常系統管理當中,經常需要通過人工方式采用命令方式進行對管理系統進行啟動或者停止操作(王建國等,2010);當需冷備份數據庫時,需要按照步驟輸入一系列命令進行操作才能實現;當技術系統異常時,需要通過命令方式停止管理系統后再啟動。可見,日常技術系統運行維護管理模式存在一些缺陷,如:操作復雜、效率較低、容易出錯等,有必要設計地震前兆技術系統自動化管理方案用于日常工作,提高系統管理的自動化水平。
地震前兆技術系統自動化管理方案借助shell腳本、crontab命令和SharpSSH組件,實現管理系統和數據庫自啟動、Oracle數據庫定時冷備份和管理系統遠程啟動及停止等功能。
該設計方案包含兩部分:①服務端。地震前兆技術系統操作系統采用Suse Linux enterprise server操作系統,數據庫采用 Oracle 10g。在服務端執行3個Shell腳本,分別用于實現管理系統和數據庫自啟動、Oracle數據庫啟動、Oracle數據庫冷備份等;②客戶端。采用Windows 7操作系統Microsoft Visual Studio 2010開發環境,引入SharpSSH開源組件,采用C#語言編寫代碼,實現自動登錄地震前兆技術系統,遠程執行服務端Linux命令,實現啟動和停止管理地震前兆技術系統。
使用SSH軟件,以root用戶登錄地震前兆技術系統服務器,創建文件夾testShell,然后在文件夾下編寫腳本startoracle.sh可實現數據庫啟動(陳傳華等,2010)。
中國地震前兆臺網數據管理系統啟動腳本run.sh位于服務器根目錄install文件夾下,執行此腳本即可啟動管理系統。
為了在Suse Linux系統下完成數據庫及管理系統的啟動,需在/etc/init.d/新建腳本startrun,腳本內容如下

冷備份數據庫的流程是:停止管理系統—停止數據庫—壓縮數據庫文件—啟動數據庫—啟動管理系統。編寫的數據庫冷備份腳本文件位于testShell文件夾下,名稱backoracle.sh,腳本核心命令是tar cvfzpP /opt/oraclebak$DATE.tar.gz /opt/oracle/oradata(胡玉良等,2013),用于實現壓縮數據庫文件。
以每周二16∶40自動冷備份數據庫為例,按以下步驟編輯crontab,定時任務即可實現:①以root身份登錄命令行;②輸入crontab –e;③按下a鍵進入編輯模式;④輸入40 16* * 1/testShell/backoracle.sh;⑤按下ctrl+c;⑥輸入:wq;⑦輸入crontab /sbin/service cron restart。
在Windows 7操作系統vs2010開發環境下,采用遠程口令方式登錄地震前兆技術系統,遠程執行相關shell腳本,即可實現管理系統啟動和停止,管理系統遠程管理軟件流程見圖1。
以啟動管理系統為例,借助SharpSSH組件,在vs2010開發環境下,采用C#語言實現SSH命令的發送功能。在SSH命令行下輸入source /install/run.sh,核心程序為


圖1 軟件流程Fig.1 Software flow diagram

通過調用ssh_conn函數,可向指定的Linux服務器發送SSH命令,實現遠程管理。
管理系統遠程管理軟件采用控制臺方式對地震前兆技術系統進行管理,成功登錄服務器后,通過輸入相應的數字選項,即可實現地震前兆技術系統的啟動和停止。當遇到簡單的技術系統異常(如管理系統運行緩慢、數據采集用時過長和數據交換緩慢等)時,即可使用該軟件對管理系統進行啟動或停止,軟件界面見圖2。
地震前兆技術系統自動化管理方案緊密結合地震前兆臺網系統管理需求,針對技術系統運行維護管理中存在的問題,設計并實現相關功能,減輕了系統運行管理對專業人員的依賴,提高了系統管理自動化水平,在山西地震前兆臺網中心應用以來,效果良好,對山西地震前兆臺網技術系統穩定、可靠、高效的運行提供了保障。自動冷備份后數據庫文件見圖3。

圖2 軟件界面Fig.2 Software Interface

圖3 自動冷備份后的數據庫文件Fig.3 The database backup automaticly
地震前兆技術系統自動化管理設計為實現系統管理自動化提供了較好的解決方案,在此基礎上,今后可利用Sharpssh組件其他功能,實現服務器硬件參數監控、Oracle數據庫備份文件導出、Oracle數據庫恢復、Oracle數據庫表空間查詢及擴充、儀器數據文件上傳等,從而實現地震觀測系統運行的高效管理。
陳傳華,曲保安,朱榮,等.前兆管理系統數據庫冷備份及恢復方法實現[J].地震地磁觀測與研究,2010,31(4):135-139.
胡玉良,程冬焱,穆慧敏,王鵬偉.山西地震前兆臺網系統運行維護[J].山西地震,2013,(3):44-48.
王建國,姚會琴,高遜.天津市地震前兆臺網的運行監控與維護管理[J].大地測量與地球動力學,2010,30(A01):111-115.