為什麼需要這個?
你有沒有遇過這種情況:在伺服器上想要存取 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 是我在伺服器上最常用的功能之一。它讓雲端硬碟不再只是一個網頁介面,
而是可以真正整合到日常工作流程中的一部分。不管是備份、資料分析、還是單純的檔案管理,
都用得上這個技能。