• 2

快速備份你的資料 - 動手打造專屬的備份系統

相信許多朋友跟我一樣有過掉資料的慘痛經驗,不論是硬體故障還是不小心誤刪,資料掉了,萬一救不回來,所有的心血就付諸東流了。
於是許許多多的資料備份方案就出爐了,在 Mac 底下,可以利用 Backup 2 之類的軟體幫忙備份。

但是即使花錢買了 .Mac 一但過期還是不能用 Backup 2 ,除非一直買下企......
很可惜的是我不喜歡這種制約,所以要另外想辦法

用拷貝的方式?
不行!資料一多就太花時間了,而且每天這樣搞就太傷硬碟了

要是把資料區分為未備份與已備份資料,資料使用起來綁手綁腳的,實在不方便......

而且,對於特別重要的資料,我習慣再多備份一份,以防萬一......

另外,我有一台 TC1100 的平板電腦,上班上課時都帶著出門,雖然說微軟的檔案跟 Mac 的資料很少混用,但是還是有備份的需求......

所以最後還是自己動手打造了一個專屬的備份程序,在此分享一下我的備份方式

首先介紹一下,我大致上有以下設備需要加入備份系統中運作
快速備份你的資料 - 動手打造專屬的備份系統

一台 TC1100 的平板電腦
一個蘋果便當
一顆 200G 的外接硬碟用來備份資料與放些暫存資料
一顆 80G 的外接硬碟用來把特別重要的資料再多備份一份

我希望達能到以下備份需求
1.當我想備份的時候,就把 Mac mini上面重要的資料備份到 200G 的外接硬碟
2.當有必要的時候,把 200G 的外接硬碟上最重要的資料再備份一份到 80G 的外接硬碟
3.下班或下課後,能把 TC1100 上面重要的資料備份到 Mac mini
4.必要的時候可以同時完成上述工作
5.上述動做只要用拷貝即可,但我還要求,資料雖多但備份速度要快(很矛盾嗎?不會的!)

簡單的說是利用工序指令檔案及一個叫做 rsync 的指令,有玩過 Linux 或是 FreeBSD 也許就有用過這個指令

rsync 本來是用來作遠端備份的,但是用來作 Local 端的備份也可以,
用這個工具第一次備份跟拷貝一樣,並不會減少備份所需時間,但是第二次以後,就只會處理檔案中差異的部份,速度就會快很多

以下的方法在建立過程可以使用終端機下指令來進行,但也可以利用機器人來執行,有興趣的朋友再繼續往下看吧......

手現我們要先建立一個可以執行的工序指令檔案,這部份熟悉 BSD 指令的朋友可以利用終端機進行。
但是也可以用機器人來作,在 Automator 底下拉出兩個[執行 Shell 工序指令]的項目,然後分別輸入 touch /Users/500/S 及 chmod 755 /Users/500/S ,如下圖
快速備份你的資料 - 動手打造專屬的備份系統

其中上述的 /Users/500 是我的家目錄,其他人依照需要請換成 /Users/[你的使用者帳號(跟使用者名稱不同)],不知道家目錄在哪裡的,可以看一下你文件目錄的簡介,位置後面的資訊就是了,例如快速備份你的資料 - 動手打造專屬的備份系統

然後到家目錄就可以發現一個 S 檔案,這個檔案內容還是空的,但是屬性已經是可執行的工序指令檔案,依照需要複製成四個檔案,分別叫做 Sync200G, Sync80G, SyncTC1100 及 SyncAll,接著為了日後管理檔案需要,我建了一個叫做 Script 的資料夾,把上述四個檔案丟進去,於是就便成了下圖
快速備份你的資料 - 動手打造專屬的備份系統

接著使用文字編輯程式來打開 Sync200G 這個檔案,輸入以下文字

rsync -av --delete --exclude=Icon? /Users/500 /Volumes/200G/500/

這行文字是用來執行 rsync 指令,備份 /Users/500 底下所有檔案到外接式硬碟的 /500 資料夾下,外接式硬碟若只使用英文及數字命名,中間不要空白,通常會掛在 /Volumes/名稱 底下,其他名稱得開啟終端機模式來看一下,因為有些特殊字元有特別的表示式,為了省麻煩,我乾脆就直接以容量來命名。
上述指令的其他部份有興趣的朋友問一下傳說中的"男人"吧!
簡單的說就是一股腦的備份過去,來源中已經不存在的檔案就砍掉,另外就是不拷貝Icon?檔

Icon?檔,就是你為資料夾特別設定的 Icon ,拷貝會有些異常,目前我還不知道如何自動處理,只好跳過去這個檔案,這對於資料部份的備份是不成問題的,只是目標資料夾的 Icon 要手動再指定過就是,不指定也可以就是了

接著,要再處理 Sync80G 這個檔案,輸入以下文字
rsync -av --delete --exclude=Icon? /Volumes/200G/500 /Volumes/80G/
rsync -av --delete --exclude=Icon? /Volumes/200G/Music /Volumes/80G/
rsync -av --delete --exclude=Icon? /Volumes/200G/iPhoto\ Library /Volumes/80G/

因為 200G 的硬碟還放了許多不需要再多備份一份的檔案,例如系統備份檔,窗戶系列的鬼魂檔,這些檔案很大,而且要是 200G 的那顆硬碟真的壞了,即使沒備份倒也沒關係,可以辛苦點重灌,不像其他資料無法一一復原
上述 iPhoto\ Library 其實是指 200G 的那顆硬碟上 "iPhoto Library" 這個資料夾,因為中間有空白的關係,所以要打成 "iPhoto\ Library"


然後,要處理 SyncTC1100 這個檔案,輸入以下文字
/sbin/mount_smbfs //192.168.2.3/TC1100 /Volumes/TC1100
rsync -av --delete --exclude=Icon? /Volumes/TC1100 /Users/500/Documents/TPC/
/sbin/umount /Volumes/TC1100

這用來備份 TC1100 分享出來的 "TC1100" 資料夾,當然要先在 "/Volumes" 資料夾下建立一個 "TC1100" 資料夾,才可供 mount_smbfs 指令掛載,同樣的,對這個指令有興趣的朋友問一下傳說中的"男人"吧!

最後,要處理 SyncAll 這個檔案,輸入以下文字
/Users/500/Script/SyncTC1100
/Users/500/Script/Sync200G
/Users/500/Script/Sync80G

"/Users/500/Script/" 是以上三步驟中,Script 檔所在資料夾的位置,用來依序執行 SyncTC1100, Sync200G, Sync80G 三個檔案,意思是先把 TC1100 的資料複製一份到 Mac mini 的家目錄中 "文件" 資料夾底下的 "TPC" 資料夾,接著在把家目錄備份到 200G 的硬碟裡去,最後再把 200G 硬碟中特別重要的資料多備份一份到 80G 的硬碟裡。


OK! 一路下來,建立了四個用來進行同步備份的檔案,會用終端機的已經可以去執行看看了,但是老是開終端機來執行也不方便,於是還是請我們忠實的機器人來幫我們執行吧!
快速備份你的資料 - 動手打造專屬的備份系統

在上述步驟中指定好工序指令檔案,四個工序指令檔案分別用機器人存成四個 "應用程式"

於是,當我下班時或下課後,可以將 TC1100 接上家中網路,然後執行 SyncTC1100 的程式,等他跑玩,就備份好了。
然後還可以利用 iCal 來執行 Sync200G ,用來定時將 Mac mini 中的家目錄備份到 200G 的外接式硬碟裡。
當我覺得有必要時,就可以執行 Sync80G ,用來把 200G 硬碟中特別重要的資料多備份一份到 80G 的硬碟裡。
甚至,當 TC1100 已經接上網路,兩個外接式硬碟都已經掛載,我就可以執行 SyncAll 來一股腦兒完成上述動作。




建議第一次使用的朋友不妨先手動拷貝,並順便整理一下目錄結構,確定要備份的項目後在建立備份流程,當然,日後修改也可以,只要分別修改那四個工序指令檔即可



另外,列出幾個狐狗大神介紹的網頁,有對 rsync 做更深入的介紹,供有興趣的朋友參考
http://www.adj.idv.tw/server/linux_rsync.php
http://linux.tnc.edu.tw/techdoc/rsync.htm
http://freesf.tnc.edu.tw/modules/newbb/viewtopic.php?topic_id=533&forum=15
http://fanqiang.chinaunix.net/a6/b7/20010908/1305001258_b.html
http://phorum.study-area.org/viewtopic.php?t=15553&highlight=rsync


以下則是 rsync 的部份說明,節錄於麥克系統的男人
-v, --verbose increase verbosity
-a, --archive archive mode, equivalent to -rlptgoD
-r, --recursive recurse into directories
-l, --links copy symlinks as symlinks
-p, --perms preserve permissions
-t, --times preserve times
-o, --owner preserve owner (root only)
-g, --group preserve group
-D, --devices preserve devices (root only)
2005-05-18 0:49 發佈
文章關鍵字 資料 備份系統
非常專業的解說,有機會也來嘗試看看
不過似乎有點複雜啊...
好難@@ 目前看完一次看不懂
不過這個方法會免去重複的檔案 似乎真的節省了很多時間呢@@
相機有一種奇妙又難以抗拒的吸引力...........
老覺得這個 Automator 好像跟寫程式用的ANT有雷同的感覺.... 還是說, 是我的錯覺...

anyway.... 我比較懶... 所以還是,花錢消災, 用Backup 2 :p
支持一下 Paul, 其實沒有這麼複雜啦
最重要的只有一行:
rsync -av --delete --exclude=Icon? /Users/500 /Volumes/200G/500/
懶的人可以直接在 shell 底下執行

其他就看你要用 automator 還是 shell script 搞
還有如何規劃備份硬碟
這個應該也可以搭配上crontab
讓他定期自動去執行備份的script
不過似乎和那個機器人的功能差不多
crontab 非常方便,但我是建議利用機器人搭配 iCal 來玩,這在 GUI 界面下就可以搞定,難度會低一些,管理也比較方便,可以設許多規則與不規則的工作排程
感覺是非常認真的一個分享!!
當下無力消化~ Orz
不過我想一定會用得上!
先來跟您感謝一下了~
多謝Paul 這麼詳細的分享 ^_^
問題不在於方不方便。。。而在於。。。這根本是現代病嘛 ---- 典型的沒有安全感呀

有必要到backup 3分以上嗎?
Mastering others is strength. But mastering yourself makes you fearless.
3份?
我只備份了兩份,分別再兩個外接式硬碟上

TC1100 同步到 Mac 上是因為一些文字檔回家後就想在 Mac 上處理

為什麼要備份了兩份?
這牽涉到我過去一次很悲慘的遭遇......

一個 IBM 40G 的硬碟不知道為啥一直掉資料,沒出現壞掉的錯誤訊息,但是很多檔案就一直不見
也沒中毒跡象,重灌後才確認是硬碟問題,於是又買了顆新硬碟,把之前備份的 MO 片拿出來

然後發現 MO 片也壞了,不死心,拿去同學那裡讀,也是讀不到........

當初會選 MO 就是據說可以保存 50 年,哪知道 ........

於是,1999 年以前的資料就都不見了.........

包含我以前寫的一大堆程式原始碼,教學文件,畢業專題資料.............通通消失在空氣中。
直到一兩年後,知道某位同組同學還保有畢業專題資料,才救回這一部份,其他確定是無解了..........

於是有些我以前寫的程式,除非有足夠時間重寫,要不然註定是無法維護了。

所以,後來即使是再用 MO 備份,對於特別重要的資料,我可不敢只作一份備份。
而外接式硬碟.......我也怕摔到或怎樣的........

坦白說,掉一些 MP3 或是網路抓的影片,了不起重抓,但是一但掉過自己的心血,就不會想再發生一次........


對我來說,即使備份三份也不為過,再說一件更變態的,rsync 是設計用來作遠端備份的,我為啥去研究他?
因為我曾經計畫遠端備份到我同學家,避免發生地震火災什麼的還能救回來........

我現在的備份系統詳細說來比上述的複雜,但基本上都能自動運作就是。

系統設計複雜可以,使用簡便就好,更重要的是,我不用擔心再掉資料............
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?