一级女人毛片人一女人-一级女性大黄生活片免费-一级女性全黄久久生活片-一级女性全黄生活片免费-国产美女在线一区二区三区-国产美女在线观看

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

沒那么神秘:Linux下生存實錄(7)

發布時間:  2012/9/8 15:14:07

四、系統(QQ:小默862693539)管理

linux系統(QQ:小默862693539)管理是很大一個領域,有專門的一群從業者靠此養家糊口,我無法在此進行詳細講解,僅以幾類常規操作拋磚引玉。

1、數據備份。隨著對電腦的依賴,我們多多少少積累了些重要資料,可以說這些資料是形成我們"個人能力"的主要來源,一旦丟失,多年的工作經驗、生活點滴均將化為煙云,這是我們一筆無形的財富。硬盤老化、操作系統(QQ:小默862693539)異常、電腦遺失等等都會導致資料丟失,為避免損失,應該養成定期備份數據的習慣。

就我個人經驗來看,數據備份要注意以下幾點:

1)存放備份的介質。必須要有一塊獨立外置硬盤(500G移動硬盤外套硬盤盒)用于存放備份數據,而不是在電腦內置硬盤上的一個分區備份到另一個分區,否則即便有備份,一旦內置硬盤出問題,原始數據和備份數據都將掛掉;

2)內置硬盤的分區。電腦內置硬盤在分區規劃時,應單獨創建一個文件系統(QQ:小默862693539),專門用于存放需要定期備份的數據(這里的幾個說法容易混淆,概念澄清下,外置硬盤中用于存放備份而來的分區不妨稱之為backup分區,內置硬盤中用于存放我們重要資料的需要被定期備份出去的分區稱之為data分區);

3)其他項:

A)全備,每次將所有數據資料全量備份而非僅備有差異部分(非增備);

B)兩個快照,任何時候應保留上上次和上次的兩個備份快照,完成本次備份后再刪除上上次備份快照,避免備份過程出問題導致歷史備份丟失;

C)直備,保持數據資料完整目錄結構,直接備份到外置硬盤的backup分區,說白了就是直接復制,不進行任何再加工;

D)月備,數據備份的周期要視你具體數據量和數據更新頻率而定,個人而言,100g的數據量,備份耗時差不多25分鐘,我一般每月備份一次(小提示,將工作、生活上需要定期做的事項按不同執行周期分類梳理到一張電子表格中,不時看看,你會發現,原來我是那么井井有條--引至《愛我何需理由》,作者:自戀小王子(這是筆名,真名吳鳳輝,嘎嘎嘎嘎~):-)。

在備份軟件方面,無須其他特殊軟件,只要有tar、bzip2、gzip、zip、unzip幾個常見命令即可。下面依次以直接打包備份、打包壓縮備份、打包壓縮帶進度備份三種方式,由淺入深介紹具體備份操作。

1)直接打包備份。為了保持目錄結構,通過采用打包命令tar進行備份。比如,希望將/data目錄備份到名為backup_120g的外置硬盤上,備份文件命名為data_backup.tar,那么完整命令及參數如下: 

  1. tar -p /data -cf /media/backup_120g/data_backup.tar 

其中,-p表示完全保持/data目錄下所有文件的文件屬性,-cf表示需要創建一個備份文件且命名為backup.tar。

數據備份的時間點往往是我們最為關心的信息,所以習慣上備份文件名應該加上時間戳。linux的date命令能根據不同參數生成指定日期信息,完整的命令及參數如下:

  1. tar -p /data -cf /media/backup_120g/data_backup@`date +%m-%d`.tar 

其中,包裹命令date的"`"符號是tab鍵正上方、1鍵左邊那個鍵,而非單引號。以指示shell優先執行整個命令行中該符號對包裹的命令(即,date +%m-%d)。

如果外置硬盤空間有限,/data中又包含部分不那么重要的數據(如,臨時目錄tmp,與windows虛擬機同享文件的目錄share_folder),那么備份時可以將這些目錄排除掉,通過tar的--exclude參數即可實現:

  1. tar -p /data --exclude=/data/misc/tmp --exclude=/data/misc/software/vm/win_7/share_folder -cf /media/backup_120g/data_backup@`date +%m-%d`.tar 

其中,--exclude參數語法非常特殊(其他命令中的該參數也是如此),注意幾點:A)命令中的所有參數必須為絕對路徑而非相對路徑,且不能用~等等縮寫字符;B)所有路徑最后不能以"/"結尾。

2)打包壓縮備份。如果排除了部分不重要數據后外置硬盤空間仍然緊張,可以考慮對打包文件進行壓縮。linux上常見的壓縮命令包括gzip和bzip2,由于兩者采用的不同壓縮算法,導致前者壓縮率較低但速度較快,后者壓縮率較高但速度慢,但相關用法差不多,請按需擇優選用(本例以gzip為例,若需bzip2則直接替換即可)。打包和壓縮是兩個獨立操作,寫兩條命令多麻煩啊!不用,借助linux強大的管道和重定向機制,可以在一條命令中以非常自然的方式實現:

  1. tar -p -cf - /data --exclude='/data/misc/tmp' --exclude='/data/misc/software/vm/win_7/share_folder' | gzip > /media/backup_120g/data_backup@`date +%m-%d`.tar.gz 

別被這些奇怪符號嚇著,管道符("|")用于實現"打包一點壓縮一點",重定向符(">")用于實現"壓縮一點寫一點到備份文件中",這樣,串起來就是"不停打包、不停壓縮、不停寫文件"的流水作業,理解了吧!其中,上個命令中-cf后面跟的是備份文件名,本命令中改為"-",就在告訴shell說,"先別急著寫文件,你(shell)把我(tar)剛生成的數據流傳遞給后面負責壓縮的兄弟(gzip),它知道該寫哪個文件,謝謝哈~"。說明兩點,A)你是否注意到備份文件的擴展名為".tar.gz",不僅本例,涉及linux主題的網站提供的下載幾乎都采用這種命名方式,這叫命名約定,通常來說,如果僅打包不壓縮則擴展名為".tar",如果打包且采用gzip壓縮則擴展名為".tar.gz",如果打包且采用bzip2壓縮則擴展名為".tar.bz"或".tar.bz2";B)其實tar命令使用--gzip和--bzip2參數可以直接實現打包壓縮,無須像上例,采用管道和重定向來實現,但,為精確顯示整個備份進度率,必須采用這種變通方式,請接著看。

3)打包壓縮帶進度備份。要顯示備份進度,必須得事前知道待備份數據(/data)的大小,可通過du命令實現:

  1. du -sk /data --exclude='/data/misc/tmp' --exclude='/data/misc/software/vm/win_7/share_folder' 

其中,-s表示計算/data整個目錄包括子目錄下所有文件的大小總和,-k表示計算結果以k為單位(或者m、g、t等)顯示,單位的精度越高,在計算百分比進度時就越精確。

待備份目錄大小知道了,如何計算進度?上面介紹過,打包、壓縮、寫文件都在借助管道傳遞數據流,如果能查看到管道中已經傳遞的數據量大小,用此大小除以總大小不就能顯示出當前備份進度了么?噹噹噹噠~,pv就可以,顧名思義pv就是pipe viewer,明白了吧,管道查看器,它是監測管道數據的超級武器,沒事多用用、系統(QQ:小默862693539)更健康。

  1. tar -p -cf - /data --exclude='/data/misc/tmp' --exclude='/data/misc/software/vm/win_7/share_folder' | pv --size xxx | gzip > /media/backup_120g/data_backup@`date +%m-%d`.tar.gz 

其中,xxx部分請用前面du命令輸出結果(待備份目錄/data總大小),并手工添加單位k。效果如下:

(可視化備份進度)

好了,到此包括打包、壓縮、排除不重要目錄、打時間戳、顯示進度等特性在內的linux常規備份操作就介紹完了,一條命令啰哩吧嗦說了一大堆,看來的確是老了(小吳,好好干,路還長)。內容是多了點,一次沒看明白就多看幾次,其實也不復雜,我們一起看看簡化模型吧(啰嗦的平方就是在下,謝謝,:O)。

  1. du -sk /source 
  2. tar -p -cf - /source | pv --size xxxk | gzip > dest.tar.gz 

有備份就有恢復,相對備份操作而言,恢復就太簡單了。仍用tar命令,參數不同而言:

 

  1. tar -xv -f dest.tar.gz -C  

其中,-x表示執行解壓解包操作,采用哪種解壓算法由tar自行偵測后決定,-v表示顯示以及解壓出的文件列表,-f表示該參數后面緊跟的就是待解壓的文件名,-C表示該參數后面緊跟是解壓后的文件存放路徑。

這次真的說完了,沒想到我對樸實的tar如此動情,不知不覺談了這么多關于她的點滴。在介紹她的同時,我也再次品味到了unix(linux的大哥)哲學——分工明確、各司其職、齊心協作。(tar哭著說,你娶我是想更接近我哥)。

2、碎片整理。要理解碎片,必須先了解硬盤基本結構和硬盤讀寫機制兩個概念。之后,再看看不同操作系統(QQ:小默862693539)寫文件的策略,你自然會明白碎片在linux下是啥東東。

硬盤基本結構。硬盤內部是由多張磁片和一個機械臂組成,磁片上最小單位是扇區,一旦硬盤停止工作后(如,關機),機械臂將復位到第一個扇區處。對于扇區而言,不論寫入數據有多小,一旦占用了某個扇區后,其他數據就不能再寫入通過扇區,即便該扇區還有空余空間(這就是為什么我們說一個大文件要比拆分為多個小文件的合計要小一些的原因)。每次讀或寫操作之前,機械臂先移動尋找到要訪問的扇區,這個過程稱之為“尋址”,由于機械臂移動是個物理動作,如果讀寫操作老是在不同扇區間不停移來移去,勢必會增長讀寫操作耗時。

硬盤讀寫機制。我們為每個扇區編個號,最開始的是0號扇區、接著是1號、然后2號、以此類推,任何操作系統(QQ:小默862693539)都會嘗試盡量將文件寫入靠前的扇區,若已被占用則嘗試下個扇區,直到找到空閑扇區,這樣,理想情況下,整個硬盤應該是先用完靠前的空間。

了解了基礎概念后,我們假定有A、B、C三個文件,依次連續占據0~3號扇區、4~7號扇區、8~9號扇區,如下圖所示:

(碎片:初始狀態)

這時,用戶編輯了文件B,增加了大量內容,導致文件B體積增大了2個扇區的大小,windows寫文件時采用的策略——“可以接受兩地分居”,即,將增加部分內容寫入最靠前空閑的10號和11號兩個扇區,如下圖所示:

(windows寫文件策略)

以后,一旦用戶需要訪問文件B,系統(QQ:小默862693539)先尋找到4號扇區,將4~7號扇區讀入內存,再尋找到10號扇區,將10~11號扇區讀入內存,最后將這6個扇區合并供用戶使用。設想一下,剛裝好系統(QQ:小默862693539)時硬盤上有5000個文件,其中1000個在后來系統(QQ:小默862693539)使用過程中被人為或程序調整過大小,那么這1000個文件個個都被截成幾段,這就形成了“碎片”,文件越多、文件寫入次數越多,產生的碎片就越多。

linux寫文件采用的是與windows恰好相反的另一個策略——“分開就不是家庭”,即,將文件B后面緊挨著的文件C向后移動兩個扇區,移動后文件C就從先前的8~9號扇區變成10~11號扇區,8~9號扇區空出來用于存放文件B增大的部分,如下圖所示:

(linux寫文件策略)

顯然,按linux的策略,無論硬盤中有多少文件、寫入多少次,系統(QQ:小默862693539)永遠不可能產生碎片。再回到前面的問題,linux碎片整理代表什么?代表沒事找抽~~

有童鞋問,每次我寫完文件要保持時,系統(QQ:小默862693539)都要移動那個文件后面的所有文件,豈不是更慢?移動是肯定的,但linux也不會那么弱智,至少有三種輔助手段緩解這個問題:A)數據搬遷不一定在我們編輯完文件后立馬執行(即便已經關閉了文件),系統(QQ:小默862693539)會結合CPU、內存、IO等資源使用情況,綜合判斷何時搬遷,以減少大規模移動數據對用戶帶來的不好感知;B)linux會記錄下經常被更改的文件,在適當時候將這些文件后面緊跟的文件向后移動,以騰出空間讓這些頻繁更改的文件在下次體積增大時可以直接使用連續扇區;C)系統(QQ:小默862693539)采用dd命令在底層進行數據搬遷,效率不是cp等輩可觸及的。linux通過這三種方式,既實現了消除碎片,又讓用戶對整個過程感知最小化。

其實,我們可以算本帳。windows是"今朝有酒今朝醉",即,這種方式在寫文件的當下感覺是最直接,但后續每次訪問這個文件都要不同移動機械臂;而linux是"今天的短暫擁堵是為了明天長久的通暢"(引至成都BRT建設宣傳語),即,在寫文件當下是要慢些,但后續每次訪問就會一致性讀入。兩種方式,隨著文件數目的增加,個人覺得后者更優!


本文出自:億恩科技【www.laynepeng.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線