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