MS Windows 下的超優備份方案:優遊在 CygWin 上的 Rsync

上週幫家人重新整理公務電腦!

在該做的工作(安裝與設定應用程式)差不多都做完之後,最重要的最後一里路,便是「資料備份」了,目標是最好能作到「定時自動備份」。

其實,我在一開始整理電腦的時候,便以該部電腦的狀況(兩顆 500GB 硬碟),想了該部機器的資料編配:

我的目標便是只要做兩件事:

  1. 告訴家人,平常作業檔案,只要存到 d 磁碟機,就可以。(人 的工作)
  2. 然後在每天固定時間,讓資料自動備份到 e 磁碟機 與 z 磁碟機,當然「桌面」上的東西也要備份,千萬別小看人性。(機器 的工作)(備註)

備註:
z 磁碟機是網路(雲端)硬碟,可以指到 學校的NAS, Dropbox drive, google drive ……等等,這裡我使用高雄市教育局為教育人員設置的雲端硬碟:高雄市教育百寶箱,相關應用程式與設定(其實也不用設定,程式裝好一啟動,就設定好了)網址在此:https://educase.kh.edu.tw/navigate/themes/web/index.html

然後,我的問題只剩要使用何種備份方法與工具?

目前為止,Rsync 是我用過最快、最舒服、最簡單以及功能最多與最小巧的工具!(兄弟,就是你啦!)

以目前狀況而言, rsync 在 unix-like 的環境下活躍的很安然自得,但在 MS-Windows 環境中,我還沒有找到可以讓我操作得很順手的環境。

既然 rsync 需要 unix-like 的環境,那我乾脆就在現有 MS-Windows 環境下,弄個 Linux 環境不就好了!

因此在幾番挑選之後,我認為Cygwin是個相當好的選擇。


下載

連上 Cygwin 網站後,第一頁就會直接告訴我們如何安裝,其實也只有兩件事:下載 setup-x86_64.exe (64-bit) 或 setup-x86.exe (32-bit) 與 執行安裝程式 就好!(因為機器採用 64-bit 安裝,所以下載 setup-x86_64.exe 回來安裝)


安裝

  1. 點擊 setup-x86_64.exe 開始進行安裝
  2. 因為是第一次安裝,所以套件來源就選取「網路」
  3. 下載安裝資訊中……
  4. 選取距離比較近的伺服器
  5. 下載安裝資訊中……
  6. cygwin 系統預設沒有「rsync」,所以要自己指定安裝「rsync」。
  7. 若在安裝時忘了裝想要的套件(應用程式),只要再重新執行 setup-x86_64.exe 安裝程式,在這個地方指定要安裝的套件(應用程式)就可以下載安裝。

  8. 系統安裝中……
  9. 安裝完成
  10. 在桌面上,會出現「Cygwin64 Terminal」圖示

調整

  1. 第一次,點擊「Cygwin64 Terminal」圖示進入系統時,會發現「這簡直是在虐殺自己的眼睛」,所以需要調整一下。
  2. 按「左上角」圖示,選「Options」(選項)
  3. 點選「文字」,字型尺寸自己調大…..
  4. 調整完成….,在重新啟動之後,就會發現,嗯!眼睛舒服多了!

觀察 cygwin 與 MS Windows 磁碟機彼此對應的位置

因為要用 rsync 來進行備份,所以要清楚 cygwin 系統目錄與 MS Windows 磁碟機之間對應的關係,所以,使用「df -h 」來觀察,可以看到 MS Windows 磁碟機是對應到 「/cygdrive」這個目錄。(以自己機器上的系統為例)

不過有趣的地方是「/cygdrive」這個目錄,要透過「Cygwin64 Terminal」才能看到,檔案總管無法直接看到!

在「/cygdrive」這個目錄下,可以看到 MS Windows 磁碟機:c, y, z


寫出屬於自己的備份程式

rsync 是專門在做檔案同步的工具程式,他的運作方式,可以把他看成一句話,是一句由「四個部份」組成的一句話。
利用 「rsync」 以「(參數:方式)」來將 「來源目錄」的檔案,同步一份到「目的目錄」去。

備註:
想了解 rsync 參數的話,可以在「Cygwin64 Terminal」直接打 rsync –help,便能看到說明;網路上這篇文章整理的也很詳細:透過rsync備份: http://blog.davidou.org/archives/774

所以語法便是:
rsync       參數(方法)       來源目錄       目的目錄

若我的目標是要將「c 磁碟機 中的 下載 裡面的 同步中文測試資料夾」備份到「 z 磁碟機 中」,配合這部電腦的狀況,語法便是:
C:\cygwin64\bin\rsync.exe       -atvz       /cygdrive/c/Users/chungyu/Downloads/同步中文測試資料夾       /cygdrive/z/

就以上這行字,利用文字編輯器(例如:「記事本」或「Notepad++」)儲存成 backup_rsync.bat 檔案。(提醒:一定要存成純文字檔,檔名可自定,但結尾一定要 .bat 結尾,當然你要使用 .cmd 也可以!)

存好之後,便可以對著它「點兩下」執行了!

不過,你一定會發現執行錯誤,而且在「z 磁碟機長出怪東西了」!

造成如此現象,原因是中文檔名以及編碼的問題。
解決方法,便是在同步之前,先告訴作業系統要變更編碼方式,我們要改成 utf8 編碼喔,語法是:「chcp 65001」,合起來便是:

再度存好檔之後,再對著它「點兩下」執行,當然就會很完美成功的執行了!

接下來,便是利用這個方法(這種句型),將自己把想同步的資料夾(檔案),來源與目的描述清楚的,一列一列寫上去(一句一句寫清楚),便可以達到備份的目的了。

這個檔案便是你自己寫的,屬於你自己的備份程式了,隨時都可以依需要透過 記事本 來更改,非常具有彈性。


定時執行

有了屬於自己的備份程式後,還要讓電腦可以每天定時自動去執行,這才是終極目標!

這時要利用 MS Windows 的「工作排程器」工具,來完成工作。

所以~

  1. 開始 –> Windows 系統管理工具 –> 工作排程器
  2. 啟動 工作排程器 後的第一眼印象
  3. 點一下最左邊的「工作排程器程式庫」,在中間區塊部份,便能看到目前有哪些進入排程的工作。
  4. 按一下最右邊的「建立工作」,立即開始進行工作排程~

  5. 開始進行 工作排程-三部曲 的設定工作
  6. 三部曲之一,填一下工作訊息
  7. 三部曲之二,在「觸發程序」頁面中,指定 時間規則
  8. 三部曲之三,在「動作」頁面中,指定 備份程式
  9. 輸入 你的密碼,作為「驗證」
  10. 完成之後,在中間區塊就可以看到剛剛自己所指定的備份工作

這樣電腦就可以達到每天定時自動備份的工作了!就算電腦硬體損壞,資料也不怕會不見!
(按:純抱怨,MS Windows 的工作排程,是我用過最囉唆的工具!在 Unix-like 的系統,對於排程工作的設定都~既快又明確!)


參考資料:

  1. cygwin, https://www.cygwin.com/
  2. rsync, https://rsync.samba.org/
  3. 高雄市教育百寶箱,https://educase.kh.edu.tw/navigate/themes/web/index.html
  4. [Windows] 求生手冊:透過 Cygwin 使用類 Unix 系統上的軟體
  5. 透過rsync備份: http://blog.davidou.org/archives/774

One Reply to “MS Windows 下的超優備份方案:優遊在 CygWin 上的 Rsync”

  1. Pingback: Robocopy — MS Windows 下之超優備份工具 – 仲佑的網誌

發佈留言

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

*