名称: r2
描述: 使用 rclone 管理 Cloudflare R2 存储 — 包括设置、上传、下载、同步等功能
元数据: {"clawdbot":{"emoji":"☁️","requires":{"bins":["rclone"]},"env":["R2_CONFIG"],"install":[{"id":"rclone","kind":"shell","command":"curl -fsSL https://rclone.org/install.sh | sudo bash","label":"安装 rclone"}]}}
使用 rclone 管理 Cloudflare R2 存储。
curl -fsSL https://rclone.org/install.sh | sudo bash
在仪表板中设置 R2_CONFIG 环境变量,格式如下:
{
"access_key_id": "你的访问密钥ID",
"secret_access_key": "你的秘密访问密钥",
"endpoint": "https://你的账户ID.r2.cloudflarestorage.com",
"bucket": "你的存储桶名称"
}
从 Cloudflare 获取凭证:
1. 访问 https://dash.cloudflare.com → R2
2. 创建具有对象读/写/列表权限的 API 令牌
3. 复制账户 ID(来自 R2 仪表板 URL)
4. 端点格式:https://<账户ID>.r2.cloudflarestorage.com
# 快速设置
r2-setup --config '{"access_key_id":"...","secret_access_key":"...","endpoint":"...","bucket":"..."}'
或交互式运行:
./skills/r2/scripts/setup.sh
r2-upload /path/to/file.txt # 上传单个文件
r2-upload /path/to/folder/ # 上传文件夹内容
r2-upload /path/to/file.txt --bucket other-bucket # 上传到指定存储桶
r2-download file.txt /local/path/ # 下载单个文件到指定路径
r2-download folder/ /local/ # 下载文件夹
r2-download file.txt # 下载到当前目录
r2-ls # 列出默认存储桶内容
r2-ls my-bucket # 列出指定存储桶内容
r2-ls --long # 长格式显示(包含文件大小)
r2-sync /local/folder/ r2:bucket/ # 本地 → R2
r2-sync r2:bucket/ /local/folder/ # R2 → 本地
r2-sync /local/ r2:bucket/ --delete # 镜像同步(删除目标端多余文件)
r2-rm file.txt # 删除单个文件
r2-rm folder/ # 删除文件夹内容
r2-purge my-bucket # 清空存储桶内所有文件
./skills/r2/scripts/show-creds.sh # 人类可读格式
./skills/r2/scripts/show-creds.sh --raw # JSON 格式(适用于 UI)
# 复制文件
rclone copy /local/file.txt r2:bucket/
# 同步并显示进度
rclone sync /local/ r2:bucket/ -P
# 查看存储空间使用情况
rclone size r2:bucket
~/.config/r2/config.json(或仪表板中的 R2_CONFIG)~/.config/rclone/rclone.confr2API 令牌权限不足。请在 Cloudflare 中更新令牌权限,确保包含:
- 对象读取 ✅
- 对象写入 ✅
- 对象列表 ✅
请先创建存储桶:
rclone mkdir r2:bucket-name