# Synology NAS → Google Drive 自動備份(rclone) 15 間分店,每間一部 Synology NAS,每晚自動將指定資料夾備份上**同一個 Google One(5TB)個人帳戶**: ``` 我的雲端硬碟/NAS-Backup/ ├─ TYS/ ← 分店代號 │ ├─ docs/ ← 最新版本(同 NAS 一樣) │ └─ _versions/2026-09-25/docs/... ← 被改/被刪嘅舊檔,保留 30 日 ├─ TP01/ ... └─ ... ``` 檔案:`install.sh`(安裝程式,內附精靈、健康檢查、更新、可選 Tailscale)、`install.sh.sha256`、`README-zh-HK.md`(本文件)。 一行安裝:`curl -fsSL https://nas-app.derekhost.com/install.sh | sudo sh` **所有檔案都冇任何密碼/token**;唯一機密係你自己整嘅 `rclone.conf`。 --- ## Part 1:Google 一次性設定(IT admin 喺 Windows 電腦做一次) ### 1. 建立自己嘅 OAuth Client ID(約 10 分鐘) > 唔用 rclone 內置嘅公用 client ID,因為佢好多人共用、成日被限速。 1. 用**備份用嗰個 Gmail** 登入 → 上面揀 project → **New Project**(例如 `nas-backup`)。 2. **APIs & Services → Library** → 搵 **Google Drive API** → **Enable**。 3. **APIs & Services → OAuth consent screen**(新版叫 *Google Auth Platform*): - User type:**External** - App name 隨便(`NAS Backup`),support email / developer email 填自己 Gmail - **Audience / Test users**:加返自己個 Gmail 4. ⚠️ **Publish app → 轉做 In production**。 *Testing* 狀態嘅 token **7 日就過期**,15 部 NAS 每星期都要重新授權! 轉 Production 唔使 Google 審核(個人自用,登入時會見到「Google 未驗證此應用程式」,撳 *進階 → 前往 NAS Backup* 即可)。 5. **Credentials → Create credentials → OAuth client ID** → Application type:**Desktop app** → Create。 抄低 **Client ID** 同 **Client secret**(唔好貼去 WhatsApp/email)。 ### 2. 喺 Windows 用 rclone 建立 remote `gdrive` 1. 去 下載 **Windows (Intel/AMD 64 bit)** zip,解壓到例如 `C:\rclone\`。 2. 開 **命令提示字元 (cmd)**: ``` cd C:\rclone rclone config ``` 3. 按以下答(其餘直接 Enter): | 問題 | 答 | |---|---| | `n) New remote` | `n` | | name | **`gdrive`**(一定要叫呢個名) | | Storage | `drive`(Google Drive) | | client_id / client_secret | 貼上第 1 步嗰兩個 | | scope | **`1`**(`drive`,完整權限,建議)| | service_account_file | 留空 Enter | | Edit advanced config? | `n` | | Use web browser to automatically authenticate? | **`y`** → 瀏覽器彈出,登入備份 Gmail → 允許 | | Configure this as a Shared Drive? | `n` | | Keep this remote? | `y`,然後 `q` 離開 | > **scope 揀邊個?** `drive`:簡單穩陣,建議。`drive.file`:rclone 只睇到自己上傳嘅檔(較安全,NAS 被入侵都刪唔到你 Drive 其他檔案),但如果將來刪咗/換咗 OAuth client,舊備份對新 client「隱形」,會全部重新上傳。 4. 測試:`rclone lsd gdrive:`(見到你 Drive 啲資料夾就 OK)。 ### 3. 將 rclone.conf 交畀每部 NAS ``` rclone config file ``` 會顯示路徑,例如 `C:\Users\admin\AppData\Roaming\rclone\rclone.conf`。 - 用 **USB 手指 / SCP / File Station 上傳到只有 admin 睇到嘅資料夾**,安裝完即刻刪。 - ❌ **唔好**經 WhatsApp、WeChat、email、Teams 傳 —— 裏面個 token = 你成個 Google Drive 嘅鎖匙。 - 15 部 NAS 用**同一份** rclone.conf 就得。 --- ## Part 2:每間分店安裝(一行指令) ### 事前準備(DSM 6.2 / 7.x 一樣) - DSM **控制台 → 終端機和 SNMP → 啟動 SSH 功能**(裝完可以熄返)。 - 用**管理員帳戶**(administrators 群組)。 - **控制台 → 地區選項 → 時間**:開 NTP 同步(時間差太遠 Google / Tailscale 登入會失敗)。 - 用 File Station 將 `rclone.conf` 上傳到 **`/volume1/admin-tools/`**(權限只限 admin)。安裝程式會自動搵到佢(亦會搵 `/volume*/public/`、`/volume*/homes/*/`)。 ### ⭐ 主要方法:一行指令 + 設定精靈 ```sh ssh admin@192.168.1.10 # 換成分店 NAS IP curl -fsSL https://nas-app.derekhost.com/install.sh | sudo sh ``` 冇 curl 就用:`wget -qO- https://nas-app.derekhost.com/install.sh | sudo sh` (sudo 會問 admin 密碼。精靈經 `/dev/tty` 讀你輸入,所以經 pipe 都用得。) 帶參數(全自動,唔會問問題): ```sh curl -fsSL https://nas-app.derekhost.com/install.sh | sudo sh -s -- \ --branch TYS --src "/volume1/docs,/volume1/photo" --config /volume1/admin-tools/rclone.conf ``` - 漏咗必要參數(例如冇 `--src`)→ 自動開精靈,已俾嘅參數做預設值。 - 冇 TTY(例如排程/遙控執行)又漏參數 → 清楚報錯,列出缺咩。 - 唔係 root → 印出正確嘅 `sudo` 一行指令畀你 copy。 - 安裝程式成個包喺 `main()` 入面,下載唔完整都唔會執行一半。 ### 手動方法(唔想用 pipe) ```sh sudo -i curl -fsSLO https://nas-app.derekhost.com/install.sh curl -fsSL https://nas-app.derekhost.com/install.sh.sha256 | sha256sum -c - sh install.sh # 精靈;或者加上面嗰啲參數 ``` 裝完記得刪咗上傳嗰份:`rm -f /volume1/admin-tools/rclone.conf`(系統已複製到 `/usr/local/etc/nas-gdrive-backup/`,chmod 600)。 ### 分店代號(shop code) - `--branch` 用分店代號:英文/數字/`-`/`_`,最多 16 字,自動轉大寫(`tys` → `TYS`)。舊式 `01`–`15` 仍然得(→ `branch-01`)。 - Drive 路徑:`NAS-Backup/<代號>/...`;Tailscale 名:`nas-<代號小寫>`;log / status 都用代號。 - **自訂 Drive 資料夾(v1.1.1)**:`--site-dir 路徑` 可以改 `<代號>` 嗰層(可以有 `/`),分店代號照樣控制 Tailscale 名、排程時間、DSM 任務名。精靈第 2 步都會問(Enter = 預設)。例如 Shop 218: ```sh sudo sh install.sh --branch 218 --remote-root SBG/NAS --site-dir 218/daily-backup \ --src /volume1/doc --time 02:00 --keep-days 30 # → gdrive:SBG/NAS/218/daily-backup/doc 舊版本:gdrive:SBG/NAS/218/daily-backup/_versions/ ``` 規則:唔可以 `/` 開頭(尾嗰個 `/` 會自動刪),唔可以有 `..`,只可以用英文、數字、`.` `_` `-` `/`;唔啱會即刻報錯停低。設定會記喺 `backup.conf`(`SITE_DIR_CUSTOM`),`nas-gdrive-backup update` / `status` / `health` 都會跟。唔加 `--site-dir` 就同以前一模一樣。 - **排程錯開**:`install.sh` 頂部有 `BRANCH_TABLE`(而家係空,等 Derek 俾最終名單),每行 `代號:slot`,時間 = 01:00 + slot × 6 分鐘,例如: ``` BRANCH_TABLE=' TYS:1 TP01:2 ' ``` 唔喺表入面嘅代號會用穩定 hash(cksum mod 20)→ 01:00–02:54 之間固定一個時間。`--time HH:MM` 永遠優先。 ⚠️ hash 有機會兩間撞同一時間;名單定咗之後填 `BRANCH_TABLE` 最穩陣。 ### 精靈畫面例子 ``` === NAS -> Google Drive 備份設定精靈 (setup wizard) v1.1.1 === 直接撳 Enter = 用 [ ] 入面嘅預設值 (Enter accepts default) [1/7] 系統檢查 Preflight [ OK ] Model: DS220j (unique=synology_rtd1296_ds220j, hw=DS220j) [ OK ] DSM 7.2.2 build 72806 [ OK ] CPU arch: aarch64 -> rclone linux-arm64 [ OK ] RAM: 494 MB -> low-memory profile [ OK ] HTTPS www.googleapis.com reachable (HTTP 200, TLS OK) [ OK ] Clock skew 1s vs Google [ OK ] Tailscale: not installed; package available: tailscale-armv8-1.102.4-700102004-dsm7.spk [ OK ] LAN subnet: 10.10.3.0/24 === Preflight: PASS === [2/7] 分店代號 Shop code 輸入分店代號 (英文/數字,例如 TYS、TP01;舊式 01-15 都得) 分店代號 Code: tys Drive 子資料夾 (喺 NAS-Backup/ 下面;可以有 /,例如 218/daily-backup;Enter = 預設) Drive 子資料夾 Site dir [TYS]: → Drive 資料夾: NAS-Backup/TYS [3/7] 要備份嘅資料夾 Folders 1) /volume1/docs 2) /volume1/homes (用戶家目錄 homes) 3) /volume1/photo 揀編號用逗號分隔 (e.g. 1,3);all = 全部;或者直接打路徑 /volume1/xxx 揀選 Select: 1,3 [4/7] Google Drive 設定檔 rclone.conf 自動搵到 (auto-detected): /volume1/admin-tools/rclone.conf rclone.conf 路徑 path [/volume1/admin-tools/rclone.conf]: 準備 rclone (download if needed) ... OK (rclone v1.75.1) 測試連線 (rclone lsd gdrive:) ... OK ✓ [5/7] 時間表 Schedule 每日備份時間 Daily time (HH:MM) [02:00]: 舊版本保留日數 Keep versions (days) [30]: 用 crontab 自動排程? (N = 之後喺 DSM 工作排程表手動加,較穩陣) (y/N) [N]: [6/7] Tailscale 遙距網絡 (可選 optional) 安裝 Tailscale? Install Tailscale (y/N) [N]: y 做 exit node? Advertise as exit node (y/N) [N]: y 分享本地 LAN 網段? Share this NAS's local LAN subnet (y/N) [N]: y 偵測到 LAN (detected): 10.10.3.0/24 網段 Subnet CIDR (逗號分隔) [10.10.3.0/24]: Auth key: 輸入 key 檔案路徑;打 - 隱藏貼上;Enter = 之後用網址登入 Auth key: - 貼上 key (唔會顯示 hidden): [7/7] 確認 Confirm 分店 Code : TYS → gdrive:NAS-Backup/TYS 資料夾 Folders: /volume1/docs,/volume1/photo 時間 Time : 每日 02:00 保留 Keep: 30 日 排程: DSM Task Scheduler Tailscale : 安裝 exit node: Y subnet: 10.10.3.0/24 登入: auth key 開始安裝? Install now (Y/n) [Y]: ``` 裝完會自動跑一次**健康檢查**(見下面)。 常用選項:`--time 02:00`、`--site-dir 218/daily-backup`(自訂 Drive 資料夾)、`--keep-days 60`、`--use-crontab`、`--dry-run`、`--check-only`(只做系統檢查,包括 Tailscale 套件同 LAN 網段)、`--upgrade`(更新 rclone)。全部:`sh install.sh --help`。 ### 排程(二揀一,唔好兩樣都做) **A. DSM 工作排程表(建議,DSM 更新都唔會冇)** 控制台 → 任務排程表 → 新增 → 排程的任務 → **使用者定義的指令碼** - 一般:任務名稱 `NAS-GDrive-Backup-TYS`,使用者 **root** - 排程:每日,首次執行時間 = 安裝程式顯示嘅時間 - 任務設定:勾「僅在指令碼異常終止時傳送執行詳細資料」;指令碼:`/usr/local/bin/nas-gdrive-backup.sh` - 揀個任務 → **執行** 試一次。 **B. `--use-crontab`**:寫入 `/etc/crontab` 並重啟 crond(DSM7 `synosystemctl`;DSM6 `synoservice`/`synoservicectl`)。⚠️ DSM 大版本更新可能會洗走,更新後再跑一次安裝(或者 `nas-gdrive-backup update`)。 --- ## Part 3(可選):Tailscale 遙距網絡 / exit node / subnet router Tailnet:**sbgitdept**(實際加入邊個 tailnet 由 auth key / 登入帳戶決定)。 ```sh # 備份 + Tailscale + exit node(有 TTY 會問埋缺少嘅備份設定) curl -fsSL https://nas-app.derekhost.com/install.sh | sudo sh -s -- --branch TYS --tailscale --exit-node # 加埋分享分店 LAN(自動偵測網段,或者 --routes 指定) curl -fsSL https://nas-app.derekhost.com/install.sh | sudo sh -s -- --branch TYS --tailscale --exit-node --subnet-router --routes 10.10.3.0/24 # 只裝 Tailscale、唔搞備份 curl -fsSL https://nas-app.derekhost.com/install.sh | sudo sh -s -- --branch TYS --tailscale-only --exit-node # 用 auth key(唔使開瀏覽器登入):key 放入只有 root 讀到嘅檔案 curl -fsSL https://nas-app.derekhost.com/install.sh | sudo sh -s -- --branch TYS --tailscale --ts-authkey-file /volume1/admin-tools/tskey.txt ``` - 選項:`--tailscale`、`--exit-node`、`--subnet-router`、`--routes CIDR[,CIDR]`、`--ts-authkey-file 檔案`(或者環境變數 `TS_AUTHKEY`)、`--ts-hostname`、`--tailscale-only`。 - **Auth key 永遠唔會顯示、唔會寫入 log**(經 `--authkey=file:` 傳入,唔會出現喺 `ps`)。冇 key 就會印一條登入網址,用瀏覽器開嚟登入。建議用 **tagged(例如 `tag:nas`)、可重用、預先批准** 嘅 key,登入後關閉 key expiry。 - 安裝方法:已裝就跳過 → 試 `synopkg install_from_server Tailscale`(套件中心)→ 唔得就由 pkgs.tailscale.com 下載啱型號/DSM 嘅官方 `.spk`(驗 SHA256)再 `synopkg install`。 - exit node / subnet router 需要:IP forwarding + DSM 7 嘅 `tailscale configure-host`(開 TUN)。安裝程式會寫 `/usr/local/bin/nas-tailscale-boot.sh` 並即刻跑一次。 **DSM 7 必做**:控制台 → 任務排程表 → 新增 → **觸發的任務** → 使用者定義的指令碼,使用者 root,事件「**開機**」,指令碼 `/usr/local/bin/nas-tailscale-boot.sh`。Tailscale 套件升級後亦要重跑一次或者重開機。 - 已登入嘅機會用 `tailscale set`(只改呢幾項,保留其他設定);未登入先用 `tailscale up --reset`,exit node 同 routes 一次過設定。 - ⚠️ **要批准**: → `nas-tys` → Edit route settings → 剔 exit node / subnet。或者喺 ACL 用 `autoApprovers`: ```json "autoApprovers": { "exitNode": ["tag:nas"], "routes": { "10.10.0.0/16": ["tag:nas"] } } ``` - ⚠️ **網段撞車**:如果 15 間分店都係 `192.168.1.0/24`(或 `192.168.0.0/24`、`10.0.0.0/24`),subnet routes 會互相覆蓋,只得一間用得。安裝程式同 `--check-only` 會警告。解決:每間分店用唯一網段(例如 `10.10..0/24`),或者用 Tailscale 4via6。 - Synology 防火牆如果有開,要加規則允許 `100.64.0.0/10`。 - DSM 6 → 7 升級後要**移除再重裝** Tailscale 套件(Tailscale 官方說明),唔好經 Tailscale 遙距做 DSM 升級。 --- ## 日常檢查 ```sh nas-gdrive-backup status # 上次時間、結果、上傳咗幾多、Drive 用量、下次時間、Tailscale nas-gdrive-backup health # 健康檢查 PASS/WARN/FAIL(有 FAIL 就 exit 1) nas-gdrive-backup health --json # 俾日後集中監察用 sudo sh install.sh --health # 同上(經安裝程式) ls -lt /var/log/nas-gdrive-backup/ # 保留最近 14 份 log ``` `health` 檢查:rclone 行唔行到+版本;rclone.conf 喺度、權限 600、有 `[gdrive]`;Drive 連線(`lsd`,有 timeout)+寫入測試(喺 `NAS-Backup/<代號>/.healthcheck` 上傳再刪一個細檔);每個來源資料夾存在而且唔係空;備份程式;排程(crontab 或者 DSM 任務排程表,偵測唔到就提醒);上次備份結果同時間(> 48 小時 WARN);磁碟/記憶體。揀咗 Tailscale 再加:tailscaled 有冇行、登入狀態、tailnet 名、hostname、exit node / routes 有冇 advertise 同埋**有冇被批准**、IP forwarding、configure-host(`tailscale0` 介面)。`--offline` 跳過網絡測試。 例子: ``` 健康檢查 Health check - TYS (2026-09-26 09:00:01) ------------------------------------------------------------------ PASS rclone 程式: rclone v1.75.1 PASS rclone.conf: perm 600, [gdrive] OK PASS Google Drive 連線: rclone lsd gdrive: OK PASS Drive 寫入測試: upload + delete OK (NAS-Backup/TYS/.healthcheck) PASS 來源資料夾: /volume1/docs PASS 備份程式: /usr/local/bin/nas-gdrive-backup.sh WARN 排程: 請確認 DSM 任務排程表有每日 02:00 任務 (偵測唔到) PASS 上次備份: OK @ 2026-09-26 02:00:04 PASS Tailscale 登入: tailnet=sbgitdept host=nas-tys ip=100.x.y.z WARN Exit node: advertised 但未批准 (admin console / autoApprovers) PASS IP forwarding: ipv4 on PASS configure-host (TUN): tailscale0 存在 ------------------------------------------------------------------ 結果: WARN - 有 2 項要留意,但冇嚴重問題 ``` JSON 格式:`{"site":"TYS","host":"...","time":"...","overall":"WARN","fail":0,"warn":2,"checks":[{"status":"PASS","id":"rclone","name":"rclone 程式","detail":"..."}, ...]}` 失敗時備份程式會 exit 1(DSM 工作排程表會 email 通知)。亦可以加 `--notify-cmd '指令'`(收到 `STATUS`、`LOGFILE`、`BRANCH`)。 ## 更新(手動,唔會自動更新) ```sh sudo nas-gdrive-backup update # 下載 install.sh + install.sh.sha256,驗 SHA256,照舊設定重裝 sudo nas-gdrive-backup update --rclone # 順便更新 rclone ``` 會保留:分店代號、資料夾、時間、保留日數、調校、rclone.conf、Tailscale(**唔會**重新 `tailscale up`)。SHA256 唔啱就唔會更新。 網站地址預設 `https://nas-app.derekhost.com`,可以用環境變數 `NAS_APP_URL` 改(例如測試)。 **發佈新版**:網站要同時放 `install.sh` 同 `install.sh.sha256`(`sha256sum install.sh > install.sh.sha256`)。 ## 還原檔案 - **最簡單**:網頁 → `NAS-Backup/TYS/...` → 右鍵下載。舊版本 / 已刪檔案喺 `_versions/日期/`。 - **用 NAS 還原**(SSH + `sudo -i`): ```sh C=/usr/local/etc/nas-gdrive-backup/rclone.conf rclone --config $C copy "gdrive:NAS-Backup/TYS/docs/報價/2026.xlsx" /volume1/docs/_restore/ rclone --config $C copy "gdrive:NAS-Backup/TYS/docs" /volume1/docs/_restore/ -P rclone --config $C copy "gdrive:NAS-Backup/TYS/_versions/2026-09-20/docs" /volume1/docs/_restore_0920/ ``` ⚠️ 還原要用 `copy`,**千祈唔好用 `sync` 反方向**。 ## 解除安裝 ```sh curl -fsSL https://nas-app.derekhost.com/install.sh | sudo sh -s -- --uninstall # 刪 runner、設定、rclone.conf、cron(保留 rclone、log、Tailscale) curl -fsSL https://nas-app.derekhost.com/install.sh | sudo sh -s -- --uninstall --purge # 連 rclone 同 log curl -fsSL https://nas-app.derekhost.com/install.sh | sudo sh -s -- --uninstall --purge-tailscale # 連 Tailscale 套件 ``` 再去 DSM 工作排程表刪咗備份任務(同 Tailscale 開機任務)。Google Drive 上嘅備份唔會被刪;Tailscale admin console 入面部機要自己刪。 --- ## Google Drive 限制(15 間共用 1 個帳戶,一定要知) - 每個 Google 帳戶**每日上傳上限約 750GB**,**15 間分店加埋共用**。超咗會停到第二日(腳本用 `--drive-stop-on-upload-limit`,會清楚報錯而唔係無限重試)。 - API 次數都係成個帳戶共用 → 所以每間分店時間錯開(`BRANCH_TABLE` slot 或 hash,01:00 起每 6 分鐘一格),同埋預設 `--tpslimit 8`。 - **第一次上傳**如果資料多(例如全部分店加埋 > 750GB),可能要**幾日**先完成;建議分批(每日裝 2–3 間分店)。之後每日只上傳有改動嘅檔案。 - 5TB 空間亦係共用,`_versions` 都計埋,改動多嘅分店可以用 `--keep-days 14`。 - 所有分店寫入同一帳戶 `NAS-Backup/<代號>/`,每間只會 sync 自己嗰個資料夾。 ## 兼容性(2026-09 核對 Synology 官方資料) | 型號 | CPU / 架構 | RAM | rclone 版本 | 最高 DSM(官方) | 自動調校 | 備註 / 風險 | |---|---|---|---|---|---|---| | DS215j | Marvell Armada 375, 32-bit **armv7l** | 512MB | linux-arm-v7 | **7.1.1**-42962 Update 9 (2025-08-05) | 2 / 4 / 8M / 8M | 官方產品狀態:DSM 更新 = *suspended*(即唔再有更新),技術支援 limited。**有保安風險,建議更換**。 | | DS216j | Marvell Armada 385, 32-bit **armv7l** | 512MB | linux-arm-v7 | **7.4**.1-90080 (2026-07-23);官方:**7.4 係最後可升級大版本** | 2 / 4 / 8M / 8M | 7.x 更新唔會自動推送,要喺下載中心手動下載。RAM 細,備份時避免同時做其他重工作。 | | DS220j | Realtek RTD1296, 64-bit **aarch64** | 512MB | linux-arm64 | **7.4**.1-90080 (2026-07-23) | 2 / 4 / 8M / 8M | 暫時仲有完整更新。RAM 細,同上。 | | DS216+ | Intel Celeron N3050, x86_64 | 1GB* | linux-amd64 | **7.4**.1-90080;官方:**7.4 係最後可升級大版本** | 2 / 4 / 8M / 8M(≤1GB) | 同 DS216j,要手動更新。 | | DS218+ | Intel Celeron J3355, x86_64 | 2GB* | linux-amd64 | **7.4**.1-90080;官方:**7.4 係最後可升級大版本** | 3 / 6 / 16M / 16M | 同上。 | | DS220+ | Intel Celeron J4025, x86_64 | 2GB* | linux-amd64 | **7.4**.1-90080 (2026-07-23) | 3 / 6 / 16M / 16M | 暫時仲有完整更新。 | 自動調校 = `transfers / checkers / drive-chunk-size / buffer-size`,全部加 `--use-mmap`,預設**唔用** `--fast-list`(慳記憶體)。可以用 `--transfers`、`--checkers`、`--chunk-size`、`--buffer-size`、`--fast-list`、`--bwlimit` 自己改。 資料來源:Synology 官方 DSM Release Notes(synology.com releaseNote API,DSM 7.4-90075 註明「DSM 7.4 will be the last upgradable version」)、Synology Archive(archive.synology.com,DS215j 最後見到 7.1.1-42962-9)、Synology 產品狀態頁(products/status)、Synology KB「What kind of CPU does my NAS have」。 \* DS216+/DS218+/DS220+ 嘅**出廠 RAM 未有喺官方頁面再核對(unverified)**;腳本會自己讀 `/proc/meminfo` 決定設定,所以唔影響運作。 所有 6 款喺 Synology 產品狀態頁都係 *Phase Out*(停產)。DSM 6.2 已於 2024-10-01 完全 EOL(冇保安更新),腳本仍然支援但強烈建議升級。 ### 型號注意事項 - **DS215j / DS216j(32-bit ARM, 512MB)**:rclone 可以跑但慢;大檔案上傳時 CPU 會好高,建議排喺夜晚。如果仲有 DSM 6.2 嘅機,盡快升級(DS215j 最多 7.1.1,DS216j 可到 7.4)。 - **DS220j(aarch64, 512MB)**:效能比 j 系列 ARMv7 好,但 RAM 一樣細,唔好加大 transfers。 - **+ 系列**:可以用 `--transfers 4 --fast-list` 加快(RAM ≥ 2GB 先好開 fast-list)。 - 所有型號:系統分割區(`/usr/local`)要有 ≥100MB、暫存要 ≥150MB;唔夠時用 `--tmp /volume1/某資料夾`。 ### Tailscale 型號注意(2026-09 核對 pkgs.tailscale.com,v1.102.4) | 型號 | 平台 | 會用嘅 .spk(套件中心冇先用) | 注意 | |---|---|---|---| | DS215j | armada375 (armv7) | `tailscale-armada375-…-dsm7.spk`(DSM 6.2:`…-dsm6.spk`)| DSM 最高 7.1.1 而且已冇更新;dsm7 套件喺 7.1.1 上面**未實機驗證**。CPU 弱,exit node 速度有限,只建議輕量用。| | DS216j | armada38x (armv7) | `tailscale-armada38x-…-dsm7.spk` | 512MB RAM;exit node / subnet 流量大時會搶備份 CPU。| | DS220j | rtd1296 → armv8 | `tailscale-armv8-…-dsm7.spk` | 512MB RAM;效能比 j 系列 ARMv7 好。| | DS216+ / DS218+ / DS220+ | x86_64 | `tailscale-x86_64-…-dsm7.spk` | 最適合做 exit node。| - DSM 6.2 都有 `…-dsm6.spk`;DSM 6 唔使 configure-host(套件以 root 運行),但仍然要 IP forwarding(開機任務照做)。 --- ## 安全須知 - `rclone.conf` = 成個 Google Drive 嘅鎖匙:只放喺 `/usr/local/etc/nas-gdrive-backup/`(chmod 600,root 先讀到)。唔好放入共用資料夾、唔好經聊天/email 傳。 - 懷疑外洩:去 移除「NAS Backup」存取權 → 重新做 Part 1 第 2–3 步 → 新 rclone.conf 放入 `/volume1/admin-tools/`,每部 NAS 再跑一行安裝指令(15 部都要換)。 - Tailscale auth key 同 rclone.conf 一樣係機密:用完刪咗個 key 檔;key 外洩就喺 Tailscale admin console revoke。 - 備份用 Gmail 開**兩步驗證**;最好係專用帳戶,唔好同日常 email 共用。 - 裝完可以熄 SSH。NAS 本身記得開自動保安更新(DSM 6.2 / DS215j 已冇保安更新)。 - 呢個係「雲端副本」,唔係離線備份:NAS 中勒索軟件,加密咗嘅檔案都會被 sync 上去(舊版本會喺 `_versions` 保留 keep-days 日)。發現後**即刻停排程**,喺保留期內還原。 - 腳本安全設計:來源資料夾唔存在 / 空(例如硬碟未 mount)會**拒絕 sync**,避免雲端被清空。 --- ## 附錄(可選):Google Workspace 共用雲端硬碟 + Service Account 只適用於有 Workspace 嘅公司(個人 Google One **唔適用**,因為 service account 冇自己空間)。 1. Cloud Console 建立 service account → 建立 JSON key。 2. 喺共用雲端硬碟將 service account email 加為「內容管理員」。 3. `rclone.conf`: ```ini [gdrive] type = drive scope = drive service_account_file = /path/to/sa.json team_drive = <共用雲端硬碟 ID> ``` 4. 安裝時加 `--sa-file /volume1/admin-tools/sa.json`(會複製到 `/usr/local/etc/nas-gdrive-backup/sa.json`,chmod 600)。