从 Cloudflare R2 迁移文件到 Cloudreve 本地存储

从 Cloudflare R2 迁移文件到 Cloudreve 本地存储

Jackson Lv3

本文记录了我如何将之前存储在 Cloudflare R2 上的模拟人生 4 模组文件,迁移回自己服务器本地,并接入 Cloudreve 实现统一管理和展示的全过程。

背景简介

我原先将所有大体量图片与模组文件上传到 Cloudflare 的 R2 对象存储,配合 Cloudflare Worker 分发。然而,随着使用量增加与成本控制考虑,以及想实现更多定制化需求(比如 NSFW 控制、文件统计、资源多用途管理),我决定将文件统一迁移回本地存储,并通过 Cloudreve 搭建轻量化私有云盘进行统一管理。

服务器配置如下:

  • CPU:4 核
  • 内存:4GB DDR4
  • 磁盘:系统盘 40G + 数据盘 60G
  • 带宽:300Mbps
  • 操作系统:CentOS 7 / Ubuntu 均适用

工具准备

  • rclone:用于远程访问 R2 并下载
  • Cloudreve:本地私有云盘管理平台
  • 宝塔面板:用于部署 LNMP 环境和 PHP 支持
  • 浏览器 + VSCode:用于手动校验下载资源和链接替换

一、配置 rclone 并连接 Cloudflare R2

1. 安装 rclone:

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

2. 配置 remote

1
rclone config

输入流程如下:

1
2
3
4
5
6
7
8
n) New remote
name> r2mod
type> 6 (选择 Amazon S3)
provider> Cloudflare R2
access_key_id> [你的 Access Key]
secret_access_key> [你的 Secret Key]
endpoint> https://[你的R2 Endpoint].r2.cloudflarestorage.com
region> auto

⚠️注意事项:

  • endpoint 必须填管辖区域的 R2 地址(不是 AWS 默认)
  • 记得在 Cloudflare Dashboard 中为 API 创建 R2 Token,赋予 list、read 权限

3. 测试连接

1
rclone ls r2mod:kkdrive

二、将文件同步至本地目录

首先创建 Cloudreve 存储目录:

1
mkdir -p /www/wwwroot/cloudreve/uploads/r2_import

然后执行迁移命令:

1
rclone copy r2mod:kkdrive /www/wwwroot/cloudreve/uploads/r2_import --progress

如果你有多个子目录,请使用 sync 而非 copy 并加上 --create-empty-src-dirs 参数

⚠️注意:确保服务器磁盘空间充足(我这里提前做了 df -h 检查)

三、配置 Cloudreve 识别本地存储

在 Cloudreve 后台新建存储策略:

  • 名称:R2导入
  • 类型:本地存储
  • 路径/www/wwwroot/cloudreve/uploads/r2_import/{uid}/{path}
  • Blob 文件命名{uuid}_{originname}
  • 允许的扩展名:留空表示不限制,也可以填写 zip,rar,7z,package,ts4script,png,jpg,mp4
  • 分片上传大小:推荐 10-25MB
  • 开启预分配硬盘空间(节省碎片)

如果非会员版 Cloudreve,建议用管理员账户绑定此策略(普通用户限制多)

四、校验与维护

  1. 通过 Cloudreve 前台手动校验文件是否可访问
  2. 开启防盗链、访问日志等功能
  3. 清理旧的 R2 存储或 CDN 配置
  4. 更新 Hexo / WordPress 等博客中的引用链接

五、迁移 Hexo 中旧链接到新地址

在 VSCode 中全局搜索:

1
https://bu\.dusays\.com/[^"')\s]+(?=["')\s])

执行替换:

1
https://kkdrive.jisuk.top/$1

若路径结构改变,可使用正则批量替换,或者写 Python 脚本匹配 hash 名

六、后续建议

  • 定期使用 rclone sync 更新 Cloudreve 文件
  • 增加 Cloudreve 的 Redis 缓存加速
  • 搭配 CDN(如又拍云)加速 Cloudreve 外部访问
  • 整合上传按钮至 Hexo 或 Flarum 管理界面

如你一样追求自主控制内容、尊重创作者权益,Cloudreve + rclone + Flarum/Hexo 构建的本地云与社区一体化平台,是目前非常高效且轻量的解决方案。

  • Title: 从 Cloudflare R2 迁移文件到 Cloudreve 本地存储
  • Author: Jackson
  • Created at : 2025-07-12 04:05:34
  • Updated at : 2025-07-12 16:54:20
  • Link: https://839738.xyz/posts/202507121.html
  • License: This work is licensed under CC BY-NC-SA 4.0.