2026年6月2日 星期二

Linux 上使用 rclone 掛載 Google Drive 完整教學


為什麼需要這個?

你有沒有遇過這種情況:在伺服器上想要存取 Google Drive 的檔案,但每次都要先下載再上傳,

麻煩又浪費時間?或者你想要讓雲端硬碟像本機資料夾一樣,直接在終端機裡操作?

rclone 就是為了解決這個問題而生的工具。它不只支援 Google Drive,

還支援超過 40 種雲端儲存服務。

搭配 mount 功能,你的 Google Drive 就能像一顆實體硬碟一樣掛在系統上。

rclone 是什麼?

rclone 是一個命令列雲端儲存管理工具,可以把它想成是「雲端版的 rsync」。

它能讓你:在雲端硬碟和本機之間同步檔案、在兩種雲端服務之間轉移資料、

把雲端硬碟掛載成虛擬磁碟機、以及加密、壓縮、過濾檔案。

事前準備

  • 一台 Linux 機器(Ubuntu/Debian 為例)

  • sudo 權限

  • 一個 Google 帳號

  • 穩定的網路連線

安裝 rclone

安裝方式有兩種,擇一即可。強烈建議用官方腳本,保證是最新版本。

方式一:官方安裝腳本(推薦)

curl https://rclone.org/install.sh | sudo bash

方式二:apt 安裝

sudo apt update && sudo apt install rclone

這種方式版本可能較舊,但好處是會自動處理相依套件。

安裝完確認版本:

rclone --version

設定 Google Drive 連線

執行 rclone config 進入互動式設定:

rclone config

照著以下步驟操作:

輸入 n(New remote):建立新的遠端連線

命名為 gdrive:幫這個連線取個名字

選擇 drive:在列表中選擇 Google Drive 的編號

Client ID / Secret 留空:按 Enter 使用 rclone 內建的預設值

Scope 選 1:選 drive: full access,完整存取全部檔案

root_folder_id 留空:留空代表存取根目錄

Auto config 選 y:瀏覽器會自動跳出 Google 授權頁面

確認設定:看到 Current remotes 列表包含你的 gdrive 就完成了

如果是無桌面環境的伺服器?

選 n(Auto config),rclone 會產生一個網址。把網址複製到有瀏覽器的電腦上打開,

登入 Google 帳號授權後,會得到一段驗證碼,貼回伺服器終端機即可。

測試連線

設定完當然要先試試能不能通:

rclone ls gdrive:

如果看到你 Google Drive 裡的檔案列表,恭喜,設定成功了!

其他常用測試指令:

  • rclone lsd gdrive:  — 看資料夾結構

  • rclone about gdrive:  — 看還有多少空間

  • rclone size gdrive:  — 算全部檔案多大

掛載 Google Drive(手動)

先建立一個掛載點資料夾:

mkdir -p ~/gdrive

然後執行掛載:

rclone mount gdrive: ~/gdrive \
  --daemon \
  --vfs-cache-mode full \
  --allow-other \
  --umask 002

參數說明:

  • --daemon  — 背景執行,關掉終端機也不會中斷

  • --vfs-cache-mode full  — 啟用 VFS 完整快取,讀寫速度會快很多

  • --allow-other  — 允許其他使用者存取

  • --umask 002  — 讓同群組的使用者也能讀寫

驗證掛載是否成功:

mount | grep gdrive
ls ~/gdrive/

開機自動掛載(systemd)

每次重開機都要手動掛載?當然不。建立一個 systemd 服務讓它自動處理:

建立服務檔:

sudo tee /etc/systemd/system/rclone-gdrive.service > /dev/null << "EOF"
[Unit]
Description=rclone mount for Google Drive
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
User=admin
Group=admin
ExecStartPre=/bin/sleep 5
ExecStart=/usr/bin/rclone mount gdrive: /home/admin/gdrive \
  --vfs-cache-mode full \
  --allow-other \
  --umask 002
ExecStop=/bin/fusermount -u /home/admin/gdrive
Restart=on-failure
RestartSec=10

[Install]
WantedBy=default.target
EOF

啟用並啟動服務:

sudo systemctl daemon-reload
sudo systemctl enable rclone-gdrive.service
sudo systemctl start rclone-gdrive.service

確認狀態:

sudo systemctl status rclone-gdrive.service

如果你有用 --allow-other,記得也要打開 FUSE 的設定:

sudo sed -i "s/#user_allow_other/user_allow_other/" /etc/fuse.conf

管理掛載

卸載:

fusermount -u ~/gdrive

重啟服務:

sudo systemctl restart rclone-gdrive.service

查看日誌:

sudo journalctl -u rclone-gdrive.service -f

更新 rclone:

rclone selfupdate

注意:更新後需重啟掛載服務才能套用新版本。

一些小技巧

限制頻寬避免佔滿網路
加上 --bwlimit 8M 可以把速度限制在 8 MB/s。

延長快取時間加快瀏覽
加上 --dir-cache-time 72h,目錄列表可以快取 3 天。

只看特定資料夾
掛載時指定路徑:rclone mount gdrive:某資料夾 ~/gdrive

用別名省去打指令
在 ~/.bashrc 加入:alias gdrive-mount="sudo systemctl start rclone-gdrive"

常見問題

寫入檔案失敗?
檢查 umask 設定和掛載點權限。確認 rclone 的 scope 包含寫入權限(scope = drive)。

開機掛載失敗?
用 sudo journalctl -u rclone-gdrive.service 看日誌。最常見的原因是網路還沒準備好,

可以加大 ExecStartPre 的 sleep 秒數。

Token 過期怎麼辦?
rclone 會自動用 refresh token 更新 access token。如果真的失效,

執行 rclone config reconnect gdrive: 重新授權。

讀取速度很慢?
確認有加 --vfs-cache-mode full。第一次讀取要等快取建立,之後就會順很多。

可以和 rclone sync 一起用嗎?
建議不要。mount 和 sync 同時操作同一個遠端可能造成衝突,分開使用比較安全。

結語

rclone mount 是我在伺服器上最常用的功能之一。它讓雲端硬碟不再只是一個網頁介面,

而是可以真正整合到日常工作流程中的一部分。不管是備份、資料分析、還是單純的檔案管理,

都用得上這個技能。

沒有留言:

張貼留言