前情提要:
資料、硬碟備份 (1), (2), (3), (4), (5)
昨天介紹了如何設定Rclone的Remote,讓雲端空間如GoogleDrive, OneDrive, Dropbox等服務可以掛載成網路硬碟,今天我們來實測看看,直接把備份檔輸出到這個位置會出現什麼問題
加入要備份的來源資料夾
選擇目標資料夾時卻發現,我們掛載的網路硬碟是看不見的
這是因為原始的執行環境是非管理員權限的,而Macrium Reflect是運行在管理員權限下的,所以在執行rclone mount
時,要以管理員權限運行
開始備份
但接下來會發現備份無法成功
確切的原因我不知道,我在猜很可能是因為備份檔在備份完成後會再回頭把之前完成的檔案進行修改,這樣的操作可能不被雲端空間的API所允許
所以解決的辦法是,在你的本機硬碟裡創建一個快取/緩衝區,當檔案建立後會先在這裡做停留,修改檔案也是先在這裡進行,然後同步回雲端空間
因此rclone mount
的指令要加--vfs-cache-mode full
rclone mount macrium_reflect:\2024ironman Z: --vfs-cache-mode full
通常來說,我會把快取的位置設在一顆較大的外接硬碟,用--cache-dir 路徑
去指定
rclone mount macrium_reflect:\2024ironman Z: --vfs-cache-mode full --cache-dir E:\caches\rclone_cache
使用這樣的方式後就可以成功備份了
接下來還有一個問題要解決,也就是每次開機後都要手動執行這個指令才能掛載
這時候就要使用到像NSSM這樣的工具,幫我們把這個指令註冊成系統服務
下載並解壓縮nssm的zip檔
https://nssm.cc/download
跟昨天安裝rclone時很像,"進階系統設定" -> "環境變數" -> "系統變數" -> "Path" -> "編輯"
貼上含有nssm.exe
的win64資料夾
以管理員身分執行Powershell,輸入:
nssm install 服務名稱
接著就會跑出GUI介面讓你編輯
Path填入rclone.exe
的位置
Arguments填入
mount macrium_reflect: Z: --config rclone.conf位置 --vfs-cache-mode full
如何獲得rclone.conf位置,使用
rclone config file
然後點擊"Install Service"就註冊完成了
重新啟動電腦,可以發現Z槽在開機後就自動被掛載了
如果想要手動讓它執行,可以使用
nssm start 服務名稱