摘 要: 數據備份是圖書館系統管理的重要組成部分。本文作者闡述了Cron進程備份原理,并結合實際操作論述了網絡自動備份的具體操作與方法。
關鍵詞: 圖書館 備份數據 網絡定時自動備份
備份數據是系統維護與管理的重要工作之一,可以用這么一句話來概括:“如果你沒有丟失過數據,你不會理解數據的重要性。”我校圖書館ilasII系統以前采用的是網絡手動備份數據,在全館工作結束以后,系統管理人員在一臺客機機上,用超級用戶root以單用戶模式,用telnet命令登錄到服務器,把要備份的數據打包成一個文件,然后用ftp命令把它傳到客戶機硬盤上來。手動備份比較麻煩與瑣碎,系統管理人員要在工作結束以后再用15—20分鐘時間來備份數據,不僅增加了系統管理人員的工作量,而且系統管理人員容易因疏忽而忘掉了操作,增加了安全隱患。
經過多年的研究與實踐,2009年初,我解決了在兩臺SCO UNIX之間備份數據的技術難題,實現了網絡定時自動備份。
1.Cron時針進程原理
備份原理是根據UNIX系統中提供的cron命令,在規(guī)定的日期和時間里,按照/usr/spool/cron/cronrabs中定位的文件中的指令來執(zhí)行命令,cron中初始進程通過文件/etc/rc來啟動且從不結束。缺省時,/usr/spool/cron/crontabs目錄只有一個root文件,該文件的格式如下:
304****/usr/lib/uuclean
04****/calendar
每行由六個域組成,各個域用空格分開,前五個域是整數模式,分別規(guī)定了分(0—59)、小時(0—23)、日(1—31)、星期(1—6)、月(1—12),用*來表示所有合法值。第六個域是shell在規(guī)定的時間要執(zhí)行的命令串。通過以上分析,只要把備份的時間和備份的命令寫入/usr/spool/cron/crontabs目錄中的root文件,系統就會在指定的時間執(zhí)行。當然,修改了root文件后,必須重新啟動服務器,如此修改的root文件才能生效。
2.主服務器root文件的設置原理與方法
一臺Windows客戶機與UNIX服務器之間很難實現定時自動備份,且因Windows的安全存在較大的隱患。因此,我校圖書館采用兩臺SCO UNIX服務器來進行網絡定時自動備份,一臺做主服務器,正常運行ilasII系統;一臺做備份服務器,進行備份數據的保存。它分別在主服務器上設置與備份服務器上設置。操作時都用超級root來進行,在主服務器上進行自動打包文件的操作,要設置root文件的添加行,用vi編輯工具在root文件后添加以下的命令:
0018***tarcvf/u/ilasII_GB/ilasdat.tar/u/ilasII_GB/database
1518***tarcvf/u/ilasII_GB/ilaslog.tar/u/ilasII_GB/log
其中,第一行命令是在18小時執(zhí)行shell命令,在/u/ilasII_GB路徑下把數據database打包成ilasdat.tar文件,這個操作只要用1分鐘左右的時間;第二行命令是在18∶15分鐘執(zhí)行shell命令,在/u/ilasII_GB路徑下把日志打包成ilaslog.tar文件,也只要1分鐘左右的時間。修改后重新啟動機器,使root文件生效。
3.備份服務器ftp傳輸與netrc文件設置
在備份服務器上進行ftp傳輸命令與.netrc文件的設置。在備份服器上進行傳輸命令ftp操作,也要設置root文件的添加行,用vi編輯工具在root文件后添加以下的命令:
3018***ftp-i192.168.0.10
其表示在18∶30分鐘執(zhí)行shell命令,ftp-i表示在多個文件傳輸時,關閉會話,192.168.0.10表示主服務器的IP地址,就是在18∶30分鐘自動執(zhí)行登錄主服務器的操作。
備份服務器進行.netrc文件的設置,一定在把它放在根目錄下,并用chmod命令把文件權限設成600,用vi工具編輯.netrc文件的格式如下:
machine 192.168.0.10
login root
password******(密碼)
macdefinit
binary
cd/u/ilasII_GB
lcd/u/ilasII_GB
getilasdat.tar
getilaslog.tar
bye
〈空行〉
該文件是frp自動注冊192.168.0.10服務器,定義了相應的賬號與口令,并定義一個宏init,binary到空行是init宏的工作過程,其原理為machine在macdef行下輸入任何有效的ftp命令,并以空行結束宏定義,宏名定義為init,則該宏命令在啟動ftp后,便自動加以執(zhí)行。當18∶30時,一登錄到主服務器192.168.0.10,便自動執(zhí)行.netrc文件內的命令。
這樣,經過上述的操作,兩臺SCO UNIX服務器之間便能實現網絡定時自動備份了,當一旦出現數據丟失或安全故障時,便可用備份的數據進行恢復,把備份文件用ftp命令傳到主服務器上,然后用telnet登錄上去進行解包便可解決。
我對這一技術難題的解決,不但較大地減輕了系統管理與維護的工作壓力,而且為系統的安全運行提供了保障,更提高了自己在系統管理與維護方面的能力與水平,促進了學校圖書管理工作的現代化。
參考文獻:
[1]吳少保.圖書館自動化集成系統ILAS應用指南[M].石家莊:河北科學技術出版社,1999.5.
[2][美]泰勒.循序漸進UNIX教程(第三版).北京:人民郵電出版社,2002.1.