使用 rclone 將 Synology NAS 備份到 Drime
透過 rclone 的官方 Drime 後端,在 Docker 中執行 rclone 並以 DSM 的 Task Scheduler 排程,將 Synology NAS 的資料夾複製及同步到 Drime。
本指南依據 rclone 和 Synology 的官方說明文件撰寫:rclone Drime 後端、在 Docker 中使用 rclone、Synology Task Scheduler 和 Synology SSH。
rclone 提供官方的 Drime 後端,因此 Synology NAS 可以依排程將資料夾複製到 Drime:rclone 在 NAS 上的 Docker 中執行,再由 DSM 的 Task Scheduler 啟動。檔案會以一般檔案的形式傳到 Drime,您可以開啟、分享和下載這些檔案。
目前沒有任何一份官方頁面完整涵蓋這套設定:本指南整合了這兩方的說明文件。Drime 不為 rclone 或 DSM 本身提供支援:如需這兩者的協助,請參閱它們的說明文件。
#準備事項
一台執行 DSM 7 的 Synology NAS,以及一個管理員帳戶。
Synology 的 Docker 套件:DSM 7.2 及更新版本為 Container Manager,DSM 7.1 及更早版本為 Docker。
SSH 存取權,只有在您偏好使用 rclone 的互動式設定時才需要。
一個有足夠可用儲存空間存放備份內容的 Drime 帳戶。
一個 Drime API 權杖,您會在下一節建立。
#建立 API 權杖
在 Drime 網頁版中,按一下大頭貼,然後按一下設定 > 開發人員。
在 API 存取權杖中,按一下建立權杖。
以 NAS 為權杖命名,例如「Synology NAS」,並保留全部權限。
rclone 必須能夠上傳、列出及刪除檔案。唯讀權杖只能讓 rclone 下載檔案。

按一下建立,複製權杖,然後按一下完成。
權杖只會顯示一次:請保留它以供下一步使用,或儲存在密碼管理工具中。

所有權杖選項請參閱建立 API 權杖。
#本指南中的指令
每個指令都會依照 rclone 說明文件所示的方式,執行 rclone 的官方 Docker 映像檔。請替換以大寫字母表示的預留位置:
預留位置 | 替換為 | 範例 |
|---|---|---|
| NAS 上用來存放 rclone 設定的資料夾 |
|
| 要備份的 NAS 資料夾,或要還原到的資料夾 |
|
| 接收備份的 Drime 資料夾 |
|
| 您的 Drime API 權杖 |
請使用以 /volume 開頭的完整 NAS 路徑。在 Docker 中,rclone 會將 CONFIG_FOLDER 視為 /config/rclone,將 NAS_FOLDER 視為 /data。
#在 NAS 上設定 rclone
#使用 Container Manager,不使用 SSH
在 DSM 中,開啟 Control Panel(控制台)> Task Scheduler(任務排程表)。
按一下 Create(新增),然後按一下 Scheduled Task(排程任務)> User-defined script(使用者定義的指令碼)。
為任務命名,例如「rclone 設定」,並選擇 root 使用者。
在 Task Settings(任務設定)中,將設定指令貼到 Run command(執行指令)下方。
docker run --rm \ --volume CONFIG_FOLDER:/config/rclone \ --user $(id -u):$(id -g) \ rclone/rclone \ config create drime drime access_token YOUR_API_TOKEN這個指令會下載 rclone 的官方映像檔,並建立名為
drime的遠端(remote)。儲存任務,在清單中選取它,然後按一下 Run(執行)。
完成後請刪除這個任務:任務中含有您的權杖。
#使用 SSH
如果您偏好使用 rclone 的互動式設定:
在 DSM 中,開啟 Control Panel > Terminal & SNMP(終端機和 SNMP)> Terminal(終端機),然後勾選 Enable SSH service(啟動 SSH 功能)。
Synology 提醒,啟用 SSH 可能帶來安全性風險:完成後請再將它關閉。
從您的電腦以 SSH 連線到 NAS,然後執行
sudo -i。SSH 登入需要使用本機 administrators 群組中的帳戶,而
sudo -i會要求輸入該帳戶的密碼。啟動 rclone 的互動式設定。
docker run --rm -it \ --volume CONFIG_FOLDER:/config/rclone \ --user $(id -u):$(id -g) \ rclone/rclone \ config回答 rclone 的問題,建立
drime遠端。輸入
n建立新的遠端,名稱輸入drime,儲存類型輸入drime,然後在access_token貼上您的 API 權杖。
若要檢查設定,請執行同一個指令,但將 config 換成 listremotes:結果應該會列出 drime:。
#進行第一次複製
請先使用 rclone copy:它只會將檔案新增到 Drime,絕不會刪除 Drime 中的任何內容。請依照上述方式建立任務,選擇 root 使用者,並使用這個指令:
docker run --rm \
--volume CONFIG_FOLDER:/config/rclone \
--volume NAS_FOLDER:/data:shared \
--user $(id -u):$(id -g) \
rclone/rclone \
copy /data drime:DRIME_FOLDER執行任務,然後在 Drime 中檢查結果。
#使用 sync 讓 Drime 保持同步
rclone sync 會讓 Drime 資料夾與 NAS 資料夾的內容一致。
請先執行一次這個指令,並查看任務的輸出結果:
docker run --rm \
--volume CONFIG_FOLDER:/config/rclone \
--volume NAS_FOLDER:/data:shared \
--user $(id -u):$(id -g) \
rclone/rclone \
sync /data drime:DRIME_FOLDER --dry-run確認清單符合預期後,再移除 --dry-run。rclone 在 Drime 中刪除的檔案會移至您的 Drime 垃圾桶;若改用 rclone 的進階選項 hard_delete,檔案會被永久刪除。
#排程備份
在 Control Panel > Task Scheduler 中,建立一個 Scheduled Task,並選擇 root 使用者。
選擇 User-defined script。
在 Schedule(排程)分頁中,選擇執行的日期和時間,例如每天晚上。
在 Task Settings 中,將您的
copy或sync指令貼到 Run command 下方。您也可以讓 DSM 以電子郵件寄送執行詳細資料給您,或只在指令碼異常終止時才寄送。
#在 Drime 中檢查檔案
開啟 Drime 網頁版:DRIME_FOLDER 中會保存您的檔案,檔名與原本相同。這些檔案和其他檔案一樣,會計入您的 Drime 儲存空間。
根據 rclone 的 Drime 說明文件,補充說明如下:
依大小偵測變更:Drime 不會將修改時間或雜湊值提供給 rclone,因此如果檔案經過編輯但大小沒有改變,就不會再次複製。
檔案名稱最長可達 255 位元組(UTF-8)。
工作區:rclone 的進階選項
workspace_id可將備份傳送到工作區,而不是您自己的檔案。rclone 輸出中的時間為 UTC:除非設定了
TZ變數,否則 rclone 容器會使用 UTC。
#還原檔案
使用 rclone copy 反方向將檔案從 Drime 複製回來。請使用空白的 NAS 資料夾做為 NAS_FOLDER,例如 /volume1/restore:
docker run --rm \
--volume CONFIG_FOLDER:/config/rclone \
--volume NAS_FOLDER:/data:shared \
--user $(id -u):$(id -g) \
rclone/rclone \
copy drime:DRIME_FOLDER /data您也可以從 Drime 網頁版下載個別檔案。
#遇到問題時
您看到的狀況 | 處理方式 |
|---|---|
rclone 表示在設定檔中找不到 | 這個指令使用的 |
rclone 找不到 |
|
任務一執行就因 Docker 錯誤而失敗 | 請確認已安裝 Container Manager(DSM 7.1 則為 Docker),而且任務是以 root 身分執行。 |
rclone 無法再連線到 Drime | 權杖可能已被刪除或撤銷:此時 Drime API 會回應 |
rclone 可以列出及下載檔案,但無法上傳 | 權杖可能是唯讀權杖。請建立全部權杖,然後以相同方式替換( |
儲存空間快滿時上傳失敗 | 您的 Drime 儲存空間可能已滿。請參閱查看並釋出儲存空間。執行 |
您的 Drime 帳戶已開啟雙重驗證 | 不需要做任何變更:rclone 使用的是 API 權杖,而不是您的密碼。 |
名稱很長的檔案沒有被複製 | 檔案名稱超過 255 位元組。請在 NAS 上縮短名稱。 |
#後續步驟
這篇文章有幫助嗎?