Robocopy — MS Windows 下之超優備份工具

話說上週一直在與家人的公務電腦奮戰,奮戰的點在於「資料備份」。(可見網誌紀錄:MS Windows 下的超優備份方案:優遊在 CygWin 上的 Rsync

「資料備份」當然是件「單純」的事情,但是~ 備份放置資料的地方很特殊,就不「單純」與「簡單」了!

上週在「備份」工作碰到了令我驚訝的狀況。

話說~我是使用「rsync」機制來進行檔案備份,這個機制我設定成只要檔案有「新增」或「更動」,伺服器就跟著「新增」與「更新」。

所以,只有第一次做檔案同步時,最耗費時間,其他時間同步速度一定都很快,因為正常人的話每天檔案「新增」,「更動」的幅度一定都非常有限!

但是,我備份的網路伺服器:高雄市教育百寶箱,使用的機制很奇妙!

  • rsync 使用 「avz」參數
  • 第一次執行 rsync,檔案數目不多,結果,看起來還算正常。
  • 第二次執行 rsync,理論上一樣的檔案,速度應該是飛快,因為根本不需要做 I/O 動作,但是,耗費時間與第一次一樣長,觀察一下檔案數目,咦???多了一些些…..
  • 第三次執行 rsync,理論上速度應該是更快,但是,耗費時間又與第一次一樣長,觀察一下檔案數目,咦???又更多了一些些…..

這種結果告訴我,rsync 的運算法,對「高雄市教育百寶箱」的檔案伺服器而言,會造成檔案越來越多,傳輸時間會越耗越長,看來「Rsync」備份的方式,不適合用在「高雄市教育百寶箱」的檔案伺服器上。

在經過一番尋覓之後,發現 Microsoft 本身就有一支很不錯的備份程式:Robocopy 。

在 Vista/7 以後版本的 Windows 本身就內附,根本不必另外安裝。只要打開終端機程式,就可以直接下命令來操控了,而且說明也寫的非常清楚。

  • 什麼事都不做,直接輸入 robocopy ,就告訴你用法!
  • 若是輸入 robocopy /? ,還有詳細的中文說明

若是還不清楚,在網路上我讀到一篇文章:好用的同步備份工具─「robocopy」指令,寫的也很詳細。

我拿他來測「高雄市教育百寶箱」檔案伺服器,「rsync」運作產生的特點:同一檔案不同版本,它並沒有產生,所以,便拿他來當備份工具了。

我的語法與參數如下:
robocopy “來源目錄” “目的目錄” /MIR /E /MT:100 /DCOPY:DAT /XO /W:60

/MIR 鏡像樹狀目錄,mirror
/E 複製子目錄,包括空的子目錄
/MT:100 以 100 個執行緒執行多執行緒複製 (預設值為 8),限制:128
/DCOPY:DAT 對於目錄,要複製 D=資料、A=屬性、T=時間戳記 屬性。
/XO 排除較舊的檔案。
/W: 失敗重試之間等候時間,設定為 60 秒。

所以,我便以 robocopy 來當備份「高雄市教育百寶箱」的工具了!

另外,還有人特別為 robocopy 寫了個 視窗界面 的程式:Robocopy in Windows 10 & Microsoft Robocopy GUI,我有去下載回來玩了一下,不過,我還是比較習慣直接下命令,加參數,這樣最直接了當!

不過,比較起來,我還是喜歡使用「Rsync」來備份這個解決方案!


參考資源

  1. 好用的同步備份工具─「robocopy」指令
  2. Robocopy in Windows 10 & Microsoft Robocopy GUI

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*