用三個軟體打造牢固的備份環境 艾俠

  這幾天,大量的鄉民正因為 PTT 硬碟炸掉而無所事事;站方表示若現有機器資料毀損過於嚴重,就會回溯到一週前的狀態。在這個有太多資訊儲存在硬碟(一種在正常使用下會不可預期地損毀的儲存裝置)裡的時代,備份檔案是一件不可忽視的工作。目前我的電腦裡有兩條不同功能的備份路線在運作,能夠隨時將資料同步複製到多個不同的位置。這篇文章要介紹的是我怎麼用 SyncthingCryptsync 以及 Google Backup and Sync 這三個軟體,打造一個對個人來說還算可靠的同步備份環境。


Syncthing

  Syncthing 基本上是用來同步你自己擁有的不同裝置之間的軟體,在不同的電腦或手機同時連上網時自動把要備份的資料夾裡的檔案全部變成最新的那份(功能上和 Resilio Sync 差不多,但 Resilio 要付年費)。也就是說,它的功能不只是備份,還能讓人在不同的裝置上使用和編輯這些檔案。我主要用 Syncthing 在 PC 與筆電間同步我想讀的資料、音樂、以及外出時可能編輯的文件,例如筆記和程式碼;另外我也用它把手機的相片複製到電腦上,可以省下進進出出翻資料夾的麻煩。

  Syncthing 的優點是它直接在你自己的機器之間傳輸(可以是網際網路也可以是區域網路),不像雲端硬碟需要先上傳檔案到另一個遙遠的地方,因此不會多餘地消耗這個世界上的網路資源,也能減少把檔案存在別人硬碟裡的隱私權顧慮。另外,它支援的作業系統實在很多;對於有了 Google Drive 而不想申請 Dropbox 的人,它是同步 Linux 電腦的良好解決方案。Syncthing 同時也支援版本備份功能,也就是說,如果你在不同裝置上分別編輯了一份檔案,導致有兩份以上衝突的版本,它能夠幫你都保存起來。

  另一方面,Syncthing 的缺點,包括了必須同時開啟不同裝置並連上網路時才會同步。在手機和電腦的同步上這通常不是問題;但在不同電腦的同步上,有時候因為某兩台裝置本來就不需要同時開,導致你必須有意識地打開它們來同步,同步的時間間隔因而會比較長。另一方面,Syncthing 有個自由軟體常見的問題,就是安裝和設定階段的毛病特別多。沒關係,那就是我接下來要寫的。

在 Windows 10 上安裝 Syncthing-GTK

  在 Windows 上安裝 Syncthing 沒有什麼麻煩。使用 Syncthing-GTK 的安裝程式安裝完後,它會在第一次執行的時候跳出一個設定精靈幫你完成一開始需要作的設定。

在 Lubuntu 16.04 上安裝 Syncthing-GTK

  在 Lubuntu 16.04 上安裝 Syncthing-GTK 其實也不太困難,但和預期不同的地方很多,我花了一個早上才搞清楚所有問題的原因。首先,Syncthing-GTK 的安裝程式在 Lubuntu 16.04 底下不會正常彈出設定精靈,這會導致它沒有安裝程式核心。所以你需要:

  1. 按照這裡的指示安裝 Syncthing,以及根據這裡的說明安裝 Syncthing-GTK
  2. 安裝好後先在指令列開啟一次 syncthing,它會自動產生需要的設定檔
  3. 然後你就可以正常啟動 Syncthing-GTK 了

  其次,要同步的資料夾最好避免放在 fat32 格式或 ntfs 格式的硬碟中。這些非 Linux 原生的資料格式在同步時會有其他的麻煩(主要是存取權限的問題),它們可以被解決,但我建議直接用 ext4 之類 Linux 原生的檔案格式來避免這些問題。

在 Windows 和 Lubuntu 中設定 Syncthing-GTK

  要新增兩台電腦的同步,首先必須在其中一台電腦使用「顯示 ID」的功能,然後在另一台電腦新增設備並輸入這個 ID(因為 ID 非常長的關係,用臉書、Google 文件、或者存在檔案裡再複製到另一台電腦上,會比寫下來再打上去實際),此後這兩台電腦就能自動抓到對方了。這個步驟有一點需要注意的是:即使你收到重複的請求,也絕對不要在新增設備時選擇「忽略」另一台電腦,因為忽略了就再也連不上那台電腦,而且在介面裡沒有選項能夠檢視和取消。

  假使不小心踩到上面的地雷,或者有其他原因造成設定混亂了,你可以在 Windows 下的 C:\Users\使用者名稱\AppData\Local\syncthing、或者 Linux 下的 /home/使用者名稱/.syncthing 找到設定檔,手動修改 config.xml 的內容,或者乾脆整個資料夾刪掉重新跑一次安裝精靈(在 Linux 下,就是重新執行一次 syncthing)來還原設定。

  在新增裝置或分享資料夾的時候,有時候另一台電腦要花上幾分鐘才會抓到送出的請求;重開 Syncthing 可以加速這個過程。

  新增共享資料夾之後,收到請求的那台電腦可能只有把資料夾加進列表裡,但還沒有同步。你需要按右鍵編輯設定,確認要和另一台電腦共享這個資料夾。

  最後,在同步資料夾上按右鍵開啟忽略規則,然後打進 Thumbs.db,以及其他你不想要同步的檔案吧。

在 Android 7.0 上安裝與設定 Syncthing

  在 Android 上安裝 Syncthing 非常簡單,用 Google Play 就好了。要新增裝置也比電腦方便許多,可以直接掃描 QRcode。但要注意的是如果要同步外接 SD 卡裡的資料夾,你需要手動作一些設置(由於 Android 的安全性限制,現在所有軟體要存取外接 SD 卡都有額外的麻煩):

  1. 用其他資料夾工具進去要共享的資料夾裡,新增一個名為 .stfolder 的空白資料夾,同時把這個資料夾的路徑記起來(在我的手機上,是 /storage/磁區 ID/路徑 的格式)
  2. 用 Syncthing 左上角的選項開啟 Web GUI
  3. 在 Web GUI 裡新增資料夾,並且手動打進(或貼上)剛剛記起來的路徑

  如果沒有手機網路吃到飽,你大概不會希望手機在任何時候連上網路就自動同步資料。那麼在設定裡關閉「全球發現」(Global Discovery),它就會只在區域網路上連結你的電腦。電腦上也有這個設定,但要在 Web GUI 裡面找。

  最後,要順利地使用區域網路的傳輸,必須打開數據機或 IP 分享器的 UPnP 功能。


Cryptsync + Google Backup and Sync

  Backup and Sync 其實就是改版後的 Google Drive 程式,用它來同步備份檔案本來是再簡單不過的一件事。然而把私人的資料存在 Google Drive 裡面其實一直有隱私上的疑慮,這就是我在前面加上一個 Cryptsync 的原因。Cryptsync 是用來在自己的電腦上同步和加密資料夾的程式,例如我平常使用的資料夾是 A,它可以自動把資料同步到另一個 B 資料夾裡,B 資料夾裡的檔案維持原本的資料結構,但必須要輸入密碼才能看到內容;我再把所有加密過的 B 資料夾同步到雲端硬碟上,就能避免雲端硬碟的隱私問題。

  Cryptsync 和 Google Backup and Sync 的組合不只是解決了雲端硬碟隱私上的問題。因為 Cryptsync 本身也是一個備份軟體,它在運作時就會先在自己的電腦裡多產生一份加密的備份,所以你會多一份本地的備份。另外,Cryptsync 產生的加密檔案其實是現在已經相當普及的 .7z 格式,只要記得密碼,就算沒有 Cryptsync 也能夠用其他方式開啟;又因為這是一種壓縮格式,用它來作雲端備份可以減少使用的空間。雲端備份還有一個重要的意義,是能夠真正地異地備份:它能夠避免你家所有的儲存裝置在一場意外中全毀而一次失去所有備份的狀況。

  然而,這個組合也有顯著的缺點。必須要先在自己硬碟上產生一份加密的檔案,對於不需要本地備份的人來說是多占用了一份空間。Cryptsync 和其他同步軟體協同運作時可能會有誤刪檔案的問題,所以最好只用單向同步,而這會失去雲端硬碟原本雙向同步的功能。最後,這兩種軟體都不能在 Linux 上跑。

安裝與設定

  Cryptsync 和 Google Backup and Sync 的安裝和設定都很友善,不需要太多說明。不過如果在 Cryptsync 設定的加密資料夾一開始就在 Google Backup and Sync 的同步資料夾裡,那麼它可能會馬上把你的原始檔案刪掉。所以設定加密資料夾的時候,最好直接把同步方向設定成 unencrypted to encrypted only。

  但被誤刪了也沒關係,檔案都在資源回收桶裡。


其他我用過的備份軟體

  Cobian Backup:Windows 上的定時備份軟體,主要功能是依時間將檔案打包歸檔。除了本機備份以外,最重要的是能夠存取 FTP 伺服器,備份遠端檔案。這個軟體目前已經停止開發,遠端備份的功能隨著通訊協定的潮流改變而逐漸不敷使用;具體地說,它不支援 SFTP。但如果你需要一個在自己電腦裡依時間歸檔的備份軟體,Cobian Backup 仍然是個好選擇。

  FreeFileSync:定時的資料夾同步軟體,能在多種作業系統上使用。同樣能存取遠端檔案,並且支援 SFTP 和金鑰加密。定時的方式比較奇妙:它會產生一個腳本檔案,只要跑它就會自動執行設定的備份工作,然後你可以用作業系統內建的排程功能去跑這腳本。設定上比較麻煩,但相對地在重灌之後能很容易地恢復原本的設定。這個軟體我仍在使用。

  Wuala:這是一個內建加密功能的雲端服務。我在它變成收費服務的時候就不再使用;沒多久之後它就收掉了。是雲端備份服務有其不確定性的實例。

2017 年 11 月 3 日 17:31
LOADING...