如何将本地全量文件及文件夹批量复制上传到Cloudflare R2
结论
Wrangler CLI 原生支持本地全目录(含嵌套子文件夹、所有文件)递归上传到Cloudflare R2,不需要额外借助第三方工具就能完成你要的整目录备份需求。
操作命令
你要把本地/home/alex/A路径下的全部内容完整同步到已有R2存储桶A,直接在终端执行以下命令即可:
wrangler r2 object sync A /home/alex/A
命令会自动递归遍历本地源目录下的所有内容,保留和本地完全一致的相对路径结构,上传到目标R2桶的根目录。
常用配套参数
你可以根据实际备份需求搭配参数使用:
--dry-run:仅预演同步流程,打印所有待上传的文件清单,不实际执行上传操作,适合首次操作前核对内容,避免传错--exclude <匹配规则>:跳过符合规则的文件/目录不上传,比如要排除所有日志文件可以加参数--exclude "*.log"--delete:同步过程中自动删除R2桶内存在、但本地源目录不存在的文件,让桶内内容和本地完全一致,首次全量备份不建议开启该参数,避免误删桶内原有存量文件
注意事项
本地源路径末尾是否带斜杠(即
/home/alex/A和/home/alex/A/)不影响同步结果,命令都会把A目录内部的所有内容上传到桶根目录,不会在桶里额外嵌套一层名为A的文件夹。
如果执行命令时提示找不到sync相关子命令,先把wrangler升级到最新稳定版即可,升级命令为npm install -g wrangler@latest。
命令默认支持大文件自动分片上传,单文件最大支持5GB,不需要手动拆分处理,保持网络稳定即可。
你之前已经完成wrangler和R2的连接配置,只要确认当前账号对目标桶有读写权限就能直接执行,不需要额外做配置。
内容的提问来源于stack exchange,提问作者Alex Choi
相关产品推荐
相关产品推荐

