- 論壇徽章:
- 0
|
今天不經(jīng)意間看到自己N久以前為了應(yīng)付上頭的要求寫的一篇文章......哎。
曾經(jīng)
有一堆的數(shù)據(jù)擺在我的面前
我沒有好好備份
當(dāng)硬盤crash的時候我才追悔莫及
如果老天再給我重來一次的機會
我一定要好好備份
如果非要進行冗余的備份
我希望是
一萬份
備份這東西,就如健康,只有在失去的時候,才會知道它的重要——雖然存在硬盤里面的資料無非是0和1。就連去買一把鎖都會配兩把鑰匙,我們還有什么理由不對能夠關(guān)系到我們的業(yè)務(wù)能否順利進行的系統(tǒng)和數(shù)據(jù)進行備份呢?
當(dāng)然,如果目前您還沒有意識到備份的重要性,對我以上抽象的說法感到可笑,那么我將不動聲色的惡毒的建議您立即停止正在運行中的系統(tǒng)一兩天,看看會發(fā)生怎樣的事情。
好了,假設(shè)您已經(jīng)聽取了我剛剛的餿主意,并在不久以后就被一大群客戶打電話過來騷擾,有不少憤怒的客戶甚至威脅說如果不馬上將系統(tǒng)跑起來就要你們賠償所有的損失,并永遠不會再信任你們承諾了。于是您不得不命令工程師趕快摁下那該死的電源開關(guān),立即將能夠平息用戶憤怒的應(yīng)用跑起來——誰讓“顧客就是上帝”這句話是這么的有權(quán)威性呢?幸好這一切都是實驗性的嘗試,從這件事情中,您已經(jīng)看到了……系統(tǒng)正常運行的重要性。您不無意味的對我笑了笑,似乎我還沒有對您直接說明備份的重要性,似乎只要一摁開關(guān),事情就輕松搞定。但是這時還不用我開口,您的系統(tǒng)管理員已經(jīng)在告訴您了:
“老板,剛剛重新啟動的時候突然斷了一下電,存儲重要數(shù)據(jù)的硬盤壞掉了!
您有些不知所措了,問道:“這——意味著什么?”
您的系統(tǒng)管理員對你這個突如其來的問題感到茫然,他顯然有些緊張:“這……這意味著……意味著我們丟掉了我們重要客戶的信息,意味著我們無法按合同給我們的客戶提供服務(wù),他們也許會控告我們,我們也不得不賠償所有的損失。即便以后我們的系統(tǒng)正常運行了,丟失的信息和數(shù)據(jù)也已經(jīng)無法找回來了。而且,我們今后怎樣才能讓客戶對我們有信心?”
從您木然的神情中,我知道了您已經(jīng)覺得備份不再是一件可有可無的事情。但是事情到了現(xiàn)在這個地步……您的雙手在空中亂抓著,啊——的一聲叫喊,從夢中醒了過來。哦,是的,至少目前,事情還沒有真的變糟,但是您已經(jīng)明白了,如果不做備份,將來某一天發(fā)生這樣的事情,就會真的變得這么糟糕,甚至更糟!
明天,一上班——您告訴自己——馬上讓系統(tǒng)管理員去做備份。
第二天一來到公司,您就給系統(tǒng)管理員打了一個電話,叫他馬上到您辦公室來。系統(tǒng)管理員誠惶誠恐的來到您的面前,心里還在盤算是不是今天遲到又被您看見了,F(xiàn)在您也沒有心情詐他說出最近自己又遲到不少次了,直接讓他馬上去做備份。
管理員有些詫異于您對備份態(tài)度的突然變化,但他還是支持您的想法。因為雖然對他來說也許工作量大了一點,但是毫無疑問,他將從中學(xué)到更多的東西,而且定期的做好備份,也將使他看起來更像一個系統(tǒng)管理員。免得他網(wǎng)上的那些狐朋狗友問他多久做一次備份,他都不好意思說他不做備份。
管理員走出辦公室那一刻開始,就已經(jīng)在思考怎么備份了。怎奈何長久的沒有作備份,已經(jīng)對備份需要注意的方面生疏了。他走到機房,找到當(dāng)初我留下的名片,給我打了個電話,問了這個問題:老板要我做備份,我應(yīng)該怎么開始?
我聽到這個問題,有些暈了——問題這么模糊,讓我怎么回答?還好,之前其他客戶已經(jīng)讓我暈了N次,面對這種讓人犯暈的問題,有了些抵抗力。
我知道這時候最好的就是讓他明白備份其實并不是敲幾個命令那么簡單的事情,盡管局外人看來熟練的管理員做備份就只是敲了幾個命令。我甚至可以告訴你們的是,有些管理員做備份都不需要敲命令,只需要定期去看看備份是否正常完成了!
于是耐心的解釋道:“這就要看你的決定了,比如備份什么,是系統(tǒng)還是數(shù)據(jù)?還要看你決定什么時候進行備份,是下班前備份還是夜里備份?還要看你備份的方式,是全備份還是部分備份?還要看你備份的頻率,多長時間備份一次?這些都是需要考慮的因素,而這些因素是會因為你的選擇而有所變化,有所關(guān)聯(lián)的。至少,你選擇不同的備份方案,使用到的命令就不一樣,需要的存儲空間也不一樣!
我知道管理員也已經(jīng)暈了,從他好長時間沒有應(yīng)答就知道。呵呵,想當(dāng)初,從培訓(xùn)老師那里知道要考慮這么多因素的時候,還不是當(dāng)場就暈?!
反正這種問題在電話中也說不清楚。于是管理員和我約定了一個時間,一起來針對您公司目前的具體情況來制定一個備份方案。
星期六早上9:00,鬧鐘將我鬧醒——10:00之前必須趕到約好的咖啡館。盡管有美味的Star Bucks Coffee & Delicious Cookies,不過我寧愿睡上一個難得的懶覺。既然客戶有需求,那么只好犧牲睡懶覺的時間。這樣其實也不是沒有好處的,不然以后客戶的系統(tǒng)出現(xiàn)了問題,而又沒有做好備份,對于我們這些現(xiàn)場工程師來說,真是一個可怕的事情!
還沒有走進星巴克咖啡館,我就已經(jīng)透過明亮的落地玻璃窗看見管理員在沖我笑了,手邊還放了一個筆記本。因為工作關(guān)系,和他已經(jīng)比較熟了,也就沒有客氣,直接就點了喜歡的香草咖啡,然后問他:
“你想好了備份方案沒有?準(zhǔn)備進行怎樣的備份呢?”
“還沒有想呢。已經(jīng)向老板說明了情況,他說讓我來跟你學(xué)學(xué),然后請你和我們一起制訂一個備份方案!
“哇塞,你老板還真會想,好像我的時間就不值錢一樣,你說,耽誤我睡懶覺,怎么賠償?”
他開心的笑道:“怎么不值錢,你當(dāng)這星巴克咖啡都是免費的啊!
面對他的無賴,真是無可奈何,只好轉(zhuǎn)入正題。
“考慮到你們的系統(tǒng)之前一直沒有做過備份,而且系統(tǒng)主要跑的應(yīng)用是Oracle,我建議你這樣,先對系統(tǒng)作一次全備份,然后對數(shù)據(jù)也做一次全備份,以后就是根據(jù)制訂的備份方案,定期的做好增量備份和全備份!
“嗯”,他點點頭,“這樣比較保險一些。不過你最好先對我說說各種備份策略的區(qū)別和各種備份命令的比較吧,這樣以后遇到問題,我就可以自己解決,而不用總是麻煩你,打擾你的懶覺了。”
好家伙,這個時候還不忘嘲笑我的懶惰,那么就毫不客氣地回擊:“我還不了解你,是不是準(zhǔn)備將我知道的這些備份知識全都學(xué)去,好到論壇上去炫耀啊?”
沒想到他真的臉紅起來,于是我轉(zhuǎn)移話題,免得他總說我抓他的小辮子。
“我們先看看備份的策略吧。從備份策略來講,現(xiàn)在的備份可分為4種:完全備份、增量備份、差異備份、累加備份!
“完全備份我知道,”還沒有等我說完管理員就迫不及待的說,“完全備份就是用一盤磁帶對整個系統(tǒng)進行備份,包括系統(tǒng)和數(shù)據(jù)!
“正確!但是你知道完全備份有哪些優(yōu)點和缺點呢?”我丟給管理員一個問題,看看他對完全備份了解到那種程度。
“完全備份的優(yōu)點就是:直觀,恢復(fù)容易。假如我每天都做一次完全備份,那么當(dāng)系統(tǒng)出現(xiàn)問題的時候,只要將最后一次備份的內(nèi)容恢復(fù)就行,這樣非常直觀。而且如果我將內(nèi)容都備份到一盤磁帶上,這樣恢復(fù)的時候只需要一盤磁帶,大大簡化了操作。不過完全備份的缺點也是顯而易見的:冗余和備份時間長。假如每天都做一次完全備份的話,其實很多內(nèi)容都會被重復(fù)備份,而正由于每次都要備份其實很多都不需要多次備份的數(shù)據(jù),讓需要備份的數(shù)據(jù)大大增加,導(dǎo)致了備份時間很長!
“完全正確!”我喝了口咖啡,用一本正經(jīng)的口氣調(diào)侃,“所以,為了減輕我們工程師的勞動量,為了盡可能的讓我們偷懶,早點回家,我們一般都會建議老板說為了節(jié)省備份的開資,少買一些昂貴的磁帶,最好采取增量備份。”
聽得管理員差點將咖啡噴出來,憋紅了臉將咖啡吞下去。
“妙啊,”他差點拍案,“這個建議既可偷懶,又可讓老板覺得自己在為公司考慮節(jié)省成本!
看到他這樣開心,我不禁也笑道:“本來就是這樣,不然,增量備份這種備份策略又怎么會誕生呢?不管它是因為老板們?yōu)榱斯?jié)省成本,還是管理員們?yōu)榱送祽,總之,這樣的備份策略絕對是一種雙贏的方式!
“那么,”我繼續(xù)問他,“增量備份又有哪些優(yōu)點和缺點呢?”
“增量備份的優(yōu)點當(dāng)然是節(jié)省磁帶,又縮短了備份時間啰,至于缺點嘛……”管理員有些犯難了。
“你只記得增量備份可以幫你偷懶,卻忘記了凡事有利必有弊,你告訴我,增量備份的定義是什么?”
“所謂增量備份就是只備份在上一次備份后增加、改動的部分數(shù)據(jù)。增量備份可分為多級,每一次增量都源自上一次備份后的改動部分!
“你啊,對定義背得這么清楚,卻不理解,看來你真的對備份只是僅流于書面的理解啊。想想看,每次只記錄上次備份以后改動的部分,那么你恢復(fù)起來,怎么操作?”
“哦,我明白了,增量備份的缺點在于當(dāng)發(fā)生災(zāi)難時,恢復(fù)數(shù)據(jù)比較麻煩!
“可是,”管理員迷惑的問道,“差異備份也是只備份在上一次完全備份后有變化的部分數(shù)據(jù)。那么,差異備份和增量備份,又有什么區(qū)別呢?”
“嗯,這個問題問得好!”我贊賞的說,“差異備份和增量備份這兩種備份策略的確容易讓人感到迷惑,但是它們的區(qū)別在于,增量備份可以分為多級的,假如你星期五做了完全備份,那么,如果你采用增量備份的方式,星期一就只要備份當(dāng)天改動過的——因為這天改動過或增加的,星期五的完全備份里面肯定沒有,而星期二也只要備份當(dāng)天改動過的,依次推理,直到星期五重新做一次完全備份。這就是以一個星期作為周期,采取增量備份的策略。如果進行數(shù)據(jù)的恢復(fù),就比較麻煩,首先要將完全備份恢復(fù),然后依次將星期一的增量備份,星期二的增量備份等等按照次序恢復(fù)過來,要注意次序不要顛倒了。所以說增量備份的數(shù)據(jù)恢復(fù)比較麻煩。明白了嗎?”
管理員點點頭,有點迫不及待的問道:“那差異備份又是怎么做呢?”
“如果這么說,你可能就明白了增量備份和差異備份的區(qū)別和相同點。如果我們選擇兩天一個周期的循環(huán),第一天采取全備份,第二天采取增量備份,那么這種備份方式,就是差異備份。”
“早這么說不就得了?”管理員恍然大悟的說。
“差異備份的定義是誰說的?然后馬上又問我增量備份和差異備份的區(qū)別。那時候我可是什么也沒有說!”
管理員不好意思的笑道:“這樣也好,以后別人問我,就先告訴他們深奧的定義,顯得層次高些,呵呵。不過我仍然有些不明白,既然增量備份和差異備份,都是對完全備份以后的變化改動進行備份,那么還要弄這兩個名詞出來?”
“能問出這個問題,說明你已經(jīng)在思考了。要知道,沒有任何一種備份方案是完美的。完全備份和增量備份,你不都說了它們的有點缺點了嗎?如果我們進行增量備份的周期拉長,比如第一天進行完全備份,后面九天都進行相應(yīng)級別的增量備份,那么恢復(fù)起來,是不是很麻煩?恢復(fù)的時間是不是相應(yīng)也會拉長?但是有些用戶的系統(tǒng)需要在很短的時間內(nèi)就恢復(fù)過來,采用這種形式的增量備份,肯定難以滿足其需求的,所以就有了差異備份的出現(xiàn)。這種出現(xiàn),不是人為的搞出來的多余的東西,而是根據(jù)需求產(chǎn)生的!
管理員贊同的點點頭。
不等他回味過來,又問了他一個問題:
“那么,你是否清楚,什么又是累加備份呢?”
管理員想了一會兒,搖了搖頭。
“累加備份采用數(shù)據(jù)庫的管理方式,記錄累積每個時間點的變化,并把變化后的值備份到相應(yīng)的數(shù)組中,這種備份方式可恢復(fù)到指點的時間點!
“那么這么看來,累加備份不是很好?”
“的確這樣,不過相應(yīng)的,操作也較復(fù)雜一些。而實際上,我們進行備份,選擇備份策略的時候,會根據(jù)我們自己的實際需求,將幾種備份策略結(jié)合起來使用,形成適合自己的備份策略。常用的方法有:完全備份、完全備份+增量備份、完全備份+差異備份、完全備份+累加備份。”
管理員點點頭。
我提醒他:“注意看看我們常用的方法,發(fā)現(xiàn)什么沒有?”
“好像不管是什么方法,都首先要進行一次完全備份!
“對,”我喝完最后一口咖啡繼續(xù)說道,“不管怎么樣,進行一次完全備份是肯定有必要的!”
“還要咖啡嗎?謝謝你給我講解了這么多,所以,不用客氣,想喝什么,想吃什么,盡管點好了,反正也不是我出錢,回去以后找老板報銷去,讓老板買單!
“這招借花獻佛還真學(xué)得不錯啊。不過,‘免費的午餐’好是好,但是總是要占用自己的時間的,下午還有球賽呢,所以我也得要早點趕回去啊!
不忍心讓管理員太失望,只好對他說:“這樣吧,我再給你講解一下備份常會用到的命令,之后時間也應(yīng)該差不多了!
“好的!”管理員的興致看起來很高。
他招手叫來了服務(wù)員,讓其再幫我加杯咖啡。
“還是香草咖啡!蔽艺f。
“我們備份常用到的命令有這些:make_tape_recovery(make_recovery)、tar、cpio、fbackup、dump、vxdump、copyutil、dd。當(dāng)然了,如果你要對數(shù)據(jù)庫——比如Oracle——的數(shù)據(jù)進行備份,就需要用到專門的命令,或者是一些工具的幫助。不過,這些內(nèi)容咱們以后再說。這次咱們先看看HP-UX操作系統(tǒng)里面提供的這些命令!
管理員點點頭。
“make_tape_recovery命令雖然你還沒有用過,但是肯定看過別人用過的。我們惠普的工程師當(dāng)初幫你們安裝完新機器之后,不是用make_tape_recovery命令給你們的系統(tǒng)作了一次備份嗎?”
“是的。是不是make_tape_recovery命令還需要安裝的。俊
“夠細心的,這都被你注意到了。的確,如果新安裝的系統(tǒng)里面沒有包含這條命令的話,你可以在附帶的HP-UX Application CD-ROM 安裝。這條命令是Ignite-UX application中的一條。當(dāng)然,如你這般丟三落四的作風(fēng),如果萬一將這張光盤弄丟了,還可以從HP的網(wǎng)站上download Ignite-UX,網(wǎng)站的地址是:
http://www.software.hp.com/
,通過Network & System administration超鏈接,就可以看到Ignite-UX了!
“那么,我下載下來以后,怎么安裝呢?”
“下載以后,一般是以.tar作為后綴名的Ignit-UX文件,此時你可以用tar命令對其解壓縮。至于怎么使用tar命令,等下會說到。解壓縮以后,就可以用你熟悉的swinstall命令安裝這個軟件包了。安裝完成以后,就可以在/opt/ignite/bin目錄下看到make_tape_recovery這條命令了?吹竭@條命令,就意味著你已經(jīng)可以使用這條命令來備份系統(tǒng)了!
“這條命令怎么使用呢?”
“早知道你會問,所以早就給你準(zhǔn)備好資料了。”一邊說我一邊從資料家里拿了一份關(guān)于make_tape_recovery命令的格式和簡單說明給管理員。
make_tape_recovery命令的格式和簡單說明
#/opt/ignite/bin/make_tape_recovery [ -AprvC] [-d destination] [-b boot_destination]
-A : 指定要備份整個root disk /
-p : 預(yù)覽備份過程,并不創(chuàng)建 Bootable DDS Tape
a. 確認 /var/opt/ignite/recovery/mkrec.append 文件
b. 創(chuàng)建 /var/opt/ignite/recovery/arch.include 文件
-r : 使用 -p 選項后,可以用該選項創(chuàng)建 Bootable DDS Tape
a. 該選項可以識別 /var/opt/ignite/recovery/arch.include 文件
-v : 用于顯示備份過程的提示信息
-d : 指定DDS 的設(shè)備文件名 ( default: /dev/rmt/0mn )
-b : 指定系統(tǒng)備份過程中,用到的臨時文件(default: /var/tmp/uxinstlf.recovery。該文件大小為 32M,也就是說,使用make_tape_recovery命令對系統(tǒng)進行備份,如果不是用-b的參數(shù),需要的最小var空間至少是32M。所以對系統(tǒng)進行make_recovery 時,要注意 /var 文件系統(tǒng)的大小,當(dāng) /var 文件系統(tǒng)大小不足時,可用如下命令對系統(tǒng)進行備份:#make_tape_recovery -A -C -b /tmp/uxinstall.recovery)
-C : 創(chuàng)建反映系統(tǒng)當(dāng)前狀態(tài)的文件: /var/opt/ignite/recovery/makrec.last,如果該文件存在,那么可以用 check_recovery 命令
一點說明:make_tape_recovery是HP-UX較新的版本中所帶的命令,而較老的HP-UX版本中,所帶的命令是make_recovery,其用法和make_tape_recovery一樣。
管理員看到這份文檔,有些茫然的問:“能不能再給我講解一下啊?吹竭@么多內(nèi)容,頭都大了!
我笑了笑:“這說明你還不喜歡UNIX里面命令的格式和說明。咱們先來看看格式。眾所周知,‘#’表明用戶的權(quán)限是管理員的權(quán)限。那么,#/opt/ignite/bin/make_tape_recovery的含義應(yīng)該是很清楚的,就是root用戶在執(zhí)行/opt/ignite/bin目錄下的make_tape_recovery命令。而‘[]’里面的一些參數(shù),表明的是可選的參數(shù),就是說你在執(zhí)行make_tape_recovery這條命令的時候,可以帶上這些參數(shù)。而且,可選的含義也包含了,你也可以不帶這些參數(shù)!
此時服務(wù)員端了一杯新沖的香草咖啡過來,并禮貌的放在前面的桌子上請我慢用。我用勺子攪拌了一下,繼續(xù)說:
“你用man查看某條命令的用法的時候,就常常會看到這樣的說明格式。一定要習(xí)慣它,這樣會帶給你很快的閱讀速度。了解這些以后,你就可以根據(jù)自己的需求來使用make_tape_recovery命令給你的系統(tǒng)作備份了!
說著,我又從資料袋中拿了一份材料給管理員。
使用make_tape_recovery備份系統(tǒng)root disk的常用方式
1. 創(chuàng)建“最小”O(jiān)S的bootable DDS tape (default 設(shè)備文件: /dev/rmt/0mn )
#/opt/ignite/bin/make_tape_recovery
2. 創(chuàng)建“最小”O(jiān)S的bootable DDS tape到/dev/rmt/c0t1d1 (設(shè)備文件: /dev/rmt/c0t1d1BESTn )
#/opt/ignite/bin/make_tape_recovery -d /dev/rmt/c0t1d1BESTn
3. 先預(yù)覽,再創(chuàng)建bootable DDS tape
#/opt/ignite/bin/make_tape_recovery -p
#vi /var/opt/ignite/recovery/arch.include (當(dāng)然也可以用more命令來查看)
#/opt/ignite/bin/make_tape_recovery -r
4. 備份整個root disk
#/opt/ignite/bin/make_tape_recovery -A
5. 備份整個root disk,并生成反映系統(tǒng)當(dāng)前狀況的文件(/var/opt/ignite/recovery/makrec.last)
#/opt/ignite/bin/make_tape_recovery -C -A
6. 備份整個root disk,并在備份的過程中顯示提示信息
#/opt/ignite/bin/make_tape_recovery -Av
管理員看了看這份文檔,有些如獲至寶的對我說:“還是這份文檔好,讓人一看就知道應(yīng)該怎么操作!
“這份算是工程師們常常用到的經(jīng)驗文檔吧,其實,還是上面那個讓你頭暈的詳細說明文檔更能在關(guān)鍵時刻幫你學(xué)會如何去看文檔。copyutil命令和make_tape_recovery命令一樣,備份的磁帶也是可啟動的。不過,因為make_tape_recovery命令更加靈活強大,所以實際上,目前很少使用copyutil命令來備份了。這份資料你可以自己看看!
使用copyutil備份系統(tǒng)root disk
1. 啟動“copyutil”
從CD或者是DVD啟動,進入ISL
BOOT_ADMIN>sea (search命令的縮寫,目的是查找光驅(qū)的地址)
BOOT_ADMIN>bo p2 (boot命令的縮寫,假設(shè)找到的光驅(qū)地址是p2)
在ISL下看看copyutil命令的相關(guān)信息
ISL>ode copyutil
執(zhí)行copyutil命令
ISL_CMD>copyutil
Please wait while scan device bussess…… (系統(tǒng)會開始查找硬件設(shè)備)
TY Indx Path Product ID Bus Size Rev
D 0 16/5.6.0 SEAGATEST31230N disk drive SCSI 1.0 GB HPM4
D 1 16/5.5.0 SEAGATEST31230N disk drive SCSI 1.0 GB HPM4
T 2 16/5.0.0 HPC1504[X]/HPC1521B DDS tape SCSI n/a 1009
從這個圖中,我們可以看到系統(tǒng)找到了兩個硬盤,和一個磁帶機
2. 備份系統(tǒng)硬盤上的所有數(shù)據(jù)
COPYUTIL>backup
Enter the disk index ([q]/?):0 (我們要備份boot disk,而通過上圖我們知道,此硬盤的路徑為0)
Enter the Tape index ([q]/?):2 (通過上圖我們也可以知道,磁帶機的路徑為2)
Use data compression?(y/[n])?y
When backup finished, system will show: DONE!
COPYUTIL>exit
3. 恢復(fù)數(shù)據(jù)到指定的系統(tǒng)硬盤上
COPYUTIL> restore
Enter the Tape index ([q]/?): 2
Enter the disk index ([q]/?): 0
Use data compression? (y/[n])? Y
After system display: Restored Successful, that means restore is finished!
COPYUTIL> exit
需要注意的是:和make_tape_recovery備份的磁帶一樣,使用copyutil命令備份的磁帶,也是帶啟動的!
管理員看了看,說:“copyutil這條命令的似乎沒有make_tape_recovery那么靈活,沒有更多的參數(shù)可以讓用戶選擇!
“是的,這或許也是copyutil這條命令目前很少用到的原因之一。目前對于大多數(shù)管理員來說,他們進行系統(tǒng)全備份,主要還是使用的make_tape_recovery命令。當(dāng)然了,就如我們開頭討論過的那些備份策略,除了做全備份以外,定時作增量備份也是非常重要而且有必要的。事實上,就頻率來說,我們更多的是使用增量備份。進行增量備份的時候,我們有不少命令可以選擇,比如fbackup、tar、cpio、dump、vxdump。使用什么命令,可以根據(jù)需要和習(xí)慣自己來選擇。”
“原來有這么多命令可以選擇。 惫芾韱T驚訝的說,“那么,你能否給我介紹介紹這些命令的使用方法呢?好幾個命令,我都還沒有用過呢!”
“嗯,我們就從你熟悉的開始吧。tar命令你肯定使用過,那么我們就先來看看它的用法吧!
tar命令的常用法
#tar [參數(shù)] [文件]
參數(shù)說明:
c 創(chuàng)建一個新的備份,覆蓋已存在的任何目標(biāo)文件。
x 從備份介質(zhì)中釋放文件。
t 列出備份介質(zhì)中的內(nèi)容。
v 顯示每個被處理的文件名。
f 備份到指定的設(shè)備上。
u 如果一些文件備份中沒有或者經(jīng)過修改以后,向備份文件中追加文件。
1. 查看磁帶中的目錄
#tar tvf /dev/st0
2. 查看磁帶中的目錄,并輸出到一個文件中
#tar tvf /dev/st0 > st_list
3. 備份檔案
#tar cvf /dev/st0 /etc
#tar cvf /dev/st0 /etc /home /etc/smb.conf
4. 備份一個現(xiàn)有的tar文件到磁帶中
#tar -A test.tar -vf /dev/st0
5. 解壓縮現(xiàn)有的tar文件
#tar xvf test.tar
6. 按指定的文件內(nèi)容解壓縮磁帶中的相應(yīng)文件
#tar -T st_list -xvf /dev/st0
7. 解壓縮磁帶中的文件到指定的目錄當(dāng)中
#tar xvf /dev/st0 /var
8. 增加個別文件到磁帶后面
#tar -r /etc/hosts /etc/passwd /etc/shadow -vf /dev/st0
“原來tar命令還有這么多用法,看來以后工作中可得好好利用它了!”
“是的,靈活的運用tar命令,可以有效的提高工作效率。相對tar命令而言,cpio命令目前已經(jīng)很少有人經(jīng)常使用它了。而在實際的備份當(dāng)中,除了使用make_tape_recovery來對系統(tǒng)作全備份以外,最常用到的命令其實是fbackup!
我一邊拿了一份資料給管理員一邊說:“這份文檔是關(guān)于fbackup的一些用法的,你先看看!
fbackup使用說明
fbackup常用方法一:
1. 進入單用戶環(huán)境:
#shutdown -y 0
#mount -a
2. 對系統(tǒng)進行全備份
# fbackup –f /dev/rmt/0m -0iv / -I /tmp/sysbk.index
參數(shù)說明:
-f : 設(shè)備文件名 ( such as DDS tape driver)
-i : 要包含的目錄
-e: 不包含的目錄
- I: 備份內(nèi)容檢索目錄
- v: 備份內(nèi)容詳細列表
- 0 : 零級備份
3. 備份除了/var以外的所有目錄和文件
# fbackup –f /dev/rmt/0m -i / -e /var
4. 一些說明:
a) fbackup命令對當(dāng)前“mounted”的文件系統(tǒng)進行備份
b) 備份級別可以是0~9,當(dāng)采用0級備份,其實就是表示對系統(tǒng)進行全備份。而以后的級別,只是備份它的上一級被備份以后增加和修改的文件
fbackup常用方法二:
1. # mkdir -p /tmp/fbackupfiles/index
# mkdir -p /tmp/fbackupfiles/log
2. # touch /tmp/fbackupfiles/index/full.`date’+%y%m%d.%H:%M’`
3. 進入單用戶
#shutdown -y 0
#mount -a
4. 對系統(tǒng)進行全備份
# fbackup –0vi / -f /dev/rmt/0m \
-I /tmp/fbackupfiles/index/full.`date’+%y%m%d.%H:%M’` \
2 > /tmp/fbackupfiles/log/ full.`date’+%y%m%d.%H:%M’`
5. 簡單說明:
通過這樣的辦法,可以知道備份需要多長時間
fbackup常用方法三:
1. 進入單用戶
#shutdown -y 0
#mount -a
2. 對系統(tǒng)進行備份
# fbackup –0uv / -f /dev/rmt/0m \
-g /tmp/fbackupfiles/mygraph \
-I /tmp/fbackupfiles/index/full.`date’+%y%m%d.%H:%M’` \
2 > /tmp/fbackupfiles/log/ full.`date’+%y%m%d.%H:%M’`
3. 一些說明:
a) 文件 mygraph,包含需要備份的目錄,以及不需要備份的目錄,格式如下:
i /users/data
i /home/app
e /oracle/sql
從這里,我們可以自主定義要備份那些,不要備份那些,靈活性很強
b) 參數(shù)u的說明:
當(dāng)備份系統(tǒng)成功時,系統(tǒng)將更新 /var/adm/fbackupfiles/dates,這樣,我們做增量備份的時候,系統(tǒng)就是通過此文件來判斷,自從上次備份以后,系統(tǒng)增加和修改過那些文件,由此自動判斷需要備份和不需要備份哪些文件。
fbackup常用方法四:
如果我們進行遠程備份,可以采取以下兩種形式,
1. 登陸在本地系統(tǒng)時
# remsh backup_sysname ” fbackup –f DDS_sysname: /dev/rmt/0m -0vi / ”
2. 登陸在遠程系統(tǒng)時
#fbackup -f backup_sysname: /dev/rmt/0m -0vi /
3. 簡單說明
如果要進行遠程備份,需要在兩臺系統(tǒng)間建立信任關(guān)系。
fbackup常用方法五:
這種方法可以對系統(tǒng)進行壓縮備份,但是一般不建議使用,因為會在一定程度上影響系統(tǒng)性能。
1. 采用壓縮方式進行備份
# fbackup -0vi /dir -f - | compress | dd of=/dev/rmt/0m obs=10k
2. 查看備份內(nèi)容
# dd if=/dev/rmt/0m ibs=10k | uncompress | frecover -I - -f -
3. 簡單說明
“-” : 指向標(biāo)準(zhǔn)輸出
管理員目瞪口呆的看著這份文檔,好不容易才擠出一句話:“fbackup的命令真靈活。
“是的,”我接著告訴他,“而且,使用fbackup備份有一個非常大的好處,就是能夠?qū)芎玫膫浞荽笪募。而其他的備份命令,例如tar,cpio,dump,vxdump等備份命令,都不能備份‘體積’超過2G的單個文件,而fbackup命令就可以。如果你想要更加詳細的學(xué)習(xí)fbackup命令,可以看看相應(yīng)的man手冊。這對理解fbackup命令肯定是有幫助的!
“嗯,我會花時間去好好看看fbackup命令的。那么,如果我要恢復(fù),應(yīng)該怎么做呢?make_tape_recovery備份的恢復(fù)我知道,只要讓系統(tǒng)從磁帶引導(dǎo),就可以自動恢復(fù)了。tar命令備份以后的恢復(fù)方法,你給我的資料中也寫了。那么fbackup備份的,是否也是只要自動從磁帶引導(dǎo)就行了?”
“問得好,既然備份了,當(dāng)然是為了以后恢復(fù)作準(zhǔn)備的,不然,如果不知道怎么恢復(fù),備份了還不就等于沒有備份。幸虧你問了這個問題,不然,我還真忘記了要將如何恢復(fù)用fbackup恢復(fù)的文件!
說著,我從資料中找到關(guān)于如何使用frevover命令的材料,遞給管理員。
frecover命令的常用方法
frecover命令專門用來恢復(fù)采用fbackup備份的資料,其用法和fbackup一樣,也是非常靈活的(既然fbackup備份命令這么靈活,如果恢復(fù)的命令不靈活,就會遇到麻煩了。
frecover常用方法一:恢復(fù)磁帶機上所有內(nèi)容
1. 進入單用戶
#shutdown -y 0
#mount -a
2. 恢復(fù)磁帶機上所有數(shù)據(jù)
# frecover –rf /dev/rmt/0m
-f: 設(shè)備文件名
-r: 恢復(fù)磁帶上的所有數(shù)據(jù)
-I: 將磁帶上文件索引存到指定的文件中
# frecover –I /tmp/index.txt -f /dev/rmt/0m
frecover常用方法二:恢復(fù)某一目錄
1. # frecover -xi /directory
2. # frecover -x -i /dir1 -i /dir2
3. # frecover -xoi /dir
-o: 覆蓋/dir下已有的、相同名稱的文件
4. # frecover -xvXi /dir
-X: 按磁帶上目錄恢復(fù)數(shù)據(jù)
5. # cd /tmp/local; frecover –xvYi /dir
-Y: 按磁帶上文件名恢復(fù)數(shù)據(jù)
例如:
# cd /tmp/local
# frecover –xvF -i /home/filename
恢復(fù)結(jié)果是/tmp/local/filename,而不是/home/filename
6. 從遠程磁帶機恢復(fù)數(shù)據(jù)到本地系統(tǒng)
# frecover –xi /dir –f remote_name : /dev/rmt/0m
7. 從本地磁帶機恢復(fù)數(shù)據(jù)到遠程系統(tǒng)
# remsh remote_name ”frecover –xi /dir -f local_name: /dev/rmt/0m”
“似乎參數(shù)都是和fbackup命令對應(yīng)的!惫芾韱T說。
“是的,frecover命令是專門針對fbackup命令來使用的。參數(shù)對應(yīng)至少對我們有好處,記憶起來容易多了!
“是的,如果這一對命令連參數(shù)都沒有聯(lián)系的話,記憶起來難度就大多了,而且肯定會容易混淆和遺忘!
我看了看時間,原來不知不覺已經(jīng)將近中午了,于是我喝了一口快要冷掉的咖啡,對管理員說:
“今天咱們再看看dd命令的使用,剩下的三條命令:cpio、dump、vxdump,因為平時用得不多,特別是dump和vxdump,那么這三條命令,咱們還是下次再學(xué)吧。你看,都快到中午了,球賽也快開始了……最后的一點時間,我想再對你說說平時備份中,需要備份到的一些系統(tǒng)信息!
管理員對我笑笑,說:“我也是這么想的,一來是想看球賽,二來也是因為今天的資料已經(jīng)夠多的了,我還得花些時間來好好研究研究這些命令!
“嗯,是的,學(xué)貴精不貴多。今天給你的這些資料,都是這幾條備份命令的常見用法,如果想要研究得更深入一些,不要忘記了man手冊是最豐富的資料庫!而且,這幾條命令,其實都是目前我們備份的時候用得最多的命令,熟練掌握了,完全可以滿足絕大部分的備份需求。當(dāng)然了,數(shù)據(jù)庫備份需要用到其他的命令,或者可以通過其它的備份軟件來實現(xiàn),比如dp。這部分的內(nèi)容,如果你需要的話,下次可以一起帶給你。”
“好的,先謝謝了。那么,平時我們備份,除了對系統(tǒng)作全備份和增量備份,對數(shù)據(jù)作備份以外,還需要對系統(tǒng)的那些信息做備份呢?”
“我?guī)淼淖詈笠环葙Y料,你看看!
說著,我將最后一份資料遞給管理員。
備份一些重要的系統(tǒng)配置文件
除了對系統(tǒng)進行必要的全備份和增量備份以外,對系統(tǒng)的一些關(guān)鍵文件和信息單獨的進行備份,也是非常有必要的,因為這將大大有利于系統(tǒng)的恢復(fù)。
1. 備份系統(tǒng)的swap信息
#swapinfo -t
2. 文件系統(tǒng)信息
#bdf
注意:如果某個文件系統(tǒng)的使用率達到了90%以上,則需要考慮將此文件系統(tǒng)中一些“垃圾”文件,或過大的日志文件刪除或移走,否則可能影響系統(tǒng)的效能。
3. 系統(tǒng)I/O信息
#ioscan -fnCdisk
4. /etc/fstab
5. 系統(tǒng)邏輯卷配置文件
a) /etc/lvmconf/vg**.conf (如果此信息丟失了,可以用vgcfgbackup生成,vgcfgrestore可以恢復(fù))
b) /etc/lvmtab
“掌握好這些備份命令,根據(jù)自己的需求制定好備份計劃,那么,在特殊情況下,也不用擔(dān)心數(shù)據(jù)會丟失了!
“是的,作為管理員,我最擔(dān)心的其實就是數(shù)據(jù)丟失了,因為數(shù)據(jù)丟失了,就找不回來了!但是每天做備份,豈不是要占用我很多時間?”
“怎么會呢?你可以讓系統(tǒng)自己去做備份,定時的去做!
“真的?怎么實現(xiàn)?”管理員迫不及待的問道。
“好好去看看crontab命令吧,使用crontab -e,可以編輯HP-UX系統(tǒng)自動執(zhí)行命令的文件,這樣,你就可以利用這個特性,定時的來做備份了。平時自己都不需要去管它,而只要去看看備份是否成功完成就行了!
“嗯,這個我定要好好看看,不然,多占用我的時間啊,而且備份一般都是別人下班以后,豈不是要天天加班?”
由于時間的關(guān)系,我和管理員就談了這么多。走的時候他對我說,回去以后會好好學(xué)學(xué)這些命令的用法,至于更多的內(nèi)容,下次再向我請教。
我知道,在日常的管理當(dāng)中,他肯定還會遇到不少問題,因此,我也得為他準(zhǔn)備一些如何解決這些問題的資料了。不然,到時候可能我自己都無法條理清晰的說出來……
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u2/65250/showart_2052542.html |
|