在檔案系統掛載 R2 儲存體
我的 blog 的圖片使用 Cloudflare R2 來儲存檔案,每次要上傳圖片都得連上 dash.cloudflare.com 讓我覺得很麻煩,而且圖形化接面也沒多好用,這樣會降低我寫 blog 的頻率,所以後來我寫了一個 bash script 腳本放在 /usr/local/bin ,用來自動上傳 webp 到我要的路徑,但這樣又會有打錯路徑的問題,而且我很難查看遠端目前的檔案們。最後我在 ivon 的 blog注意到 Rclone 這個軟體,可以直接把遠端儲存空間掛載到檔案系統。
開始使用 rclone
1. 安裝
sudo -v ; curl https://rclone.org/install.sh | sudo bash
2. 建立 User API 權杖
- 到 CloudFlare 建立 token
看你要什麼權限就給什麼,我要讀寫(上傳功能)所以選了所有儲存體的系統管理員權限,畢竟我就是系統管理員。

進到下一頁後就會顯示 token ,頁面不要關,下一步要回來複製
3. 寫設定檔
把儲存體的 access key 、secret key、endpoint 都告訴 rclone。下rclone config照著引導完成設定檔。
- Enter name for new remote. name>
- 為設定檔命名
- Option Storage.Choose a number from below, or type in your own value.
- 選擇連結的儲存體類型,Cloud R2 屬於 S3 ,輸入數字
4
- 選擇連結的儲存體類型,Cloud R2 屬於 S3 ,輸入數字
- Choose your S3 provider.
- 選擇 S3 提供者,CloudFlare R2 是數字
6
- 選擇 S3 提供者,CloudFlare R2 是數字
- Get AWS credentials from runtime
- 選
Enter AWS credentials in the next step.輸入剛剛在 CloudFlare 後台拿到的存取金鑰識別碼(access_key_id)、秘密存取金鑰(secret_access_key)和存取端點 endpoint
- 選
- 進階設定
- 我都按不需要,維持預設
這邊建了一個叫做 cfr2 的設定檔,設定成功就會在頂部出現設定檔的名稱。
$rclone config
Current remotes:
Name Type
==== ====
cfr2 s3
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>