於是許許多多的資料備份方案就出爐了,在 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)