阿里云 OSS 迁移到 CloudFlare R2
思路:使用 OSSBrowser 把所有文件下载到本地,再使用 Rclone 工具,把本地文件夹同步到 CloudFlare R2 中。
OSSBrowser
OSSBrowser 是阿里云官方提供的 OSS 图形化管理工具,提供类似 Windows 资源管理器的功能。使用 OSSBrowser 可以快速完成存储空间(Bucket)和文件(Object)的相关操作。
创建 RAM 用户的 AccessKey,AccessKey Secret
- 登录 RAM 控制台。
- 在左侧导航栏,选择身份管理 > 用户。
- 在用户页面,单击目标 RAM 用户名称。
- 在用户 AccessKey 区域,单击创建 AccessKey。
- 根据界面提示完成安全验证。
- 在**创建 AccessKey **对话框,查看 AccessKey ID 和 AccessKey Secret。
- 您可以单击下载 CSV 文件,下载 AccessKey 信息。单击复制,复制 AccessKey 信息。
- 单击确定。
授权
需要给 RAM 用户开通AliyunOSSFullAccess
,AliyunRAMFullAccess
,AliyunSTSAssumeRoleAccess
的权限。
登录
Endpoint(地域节点)
:选择自定义,不是 Bucket 域名,例如oss-cn-beijing.aliyuncs.com
。
AccessKeyId
:填入第一步申请的AccessKey
。
AccessKeySecret
:填入第一步申请的AccessKey Secret
。
使用
本地创建文件夹,开始下载。
Rclone
Rclone 是一个开源,多线程,命令行界面的计算机程序,可用于管理云存储。其功能包括档案同步,文件传输,加密,缓存和挂载。Rclone 支持包括 Amazon S3 和 Google 云端硬盘在内等共五十多种云存储服务。
创建 CloudFlare R2 Access Key
- 在帐户主页中,选择** R2**。
- 在帐户详细信息下,选择管理 R2 API 令牌。
- 选择创建 API 令牌。
- 选择** R2 令牌**文本以编辑您的 API 令牌名称。
- 在** Permissions **下,为您的令牌选择权限类型。我们选择最高权限
Admin Read and Write
。有关每个选项的信息,请参阅 权限。
- (可选)如果您选择对象读写或对象读取权限,则可以将令牌范围限定为一组存储桶。
- 选择创建 API 令牌。
配置 Rclone config
使用命令行,进入 Rclone 目录。
|
|
创建配置文件 rclone.conf,我的文件目录是:C:\Users\pc\AppData\Roaming\rclone\rclone.conf
,编辑文件并保存。
|
|
access_key_id
:填入第一步申请的Access Key ID
。
secret_access_key
:填入第一步申请的Secret Access Key
。
endpoint
:accountid 在下图的位置。
测试,配置是否正确
|
|
|
|
同步本地目录或文件到远端 bucket
|
|
LOCAL_PATH
:之前 OSSBrowser 下载目录。
target
:r2demo。
bucket-name
:CloudFlare R2 上创建的桶,例:image。
target-path
:可以不填。
--progress
: 显示迁移的进度及校验的结果。
替换博客中图片地址
以下操作,记得备份原文件,建议使用Git
管理文件。
|
|
使用sed
命令可以进行字符串的批量替换操作,以节省大量的时间及人力。
使用格式如下:
|
|
oldstring
:待替换的字符串。
newstring
:替换之后的新字符串。
grep
命令,按照所给的路径查找oldstring
,path
是查找替换文件的路径。
-i
:直接在文件中替换,不在终端输出。
-r
:在path
中的目录递归查找。
-l
:输出所有匹配到oldstring
的文件。
注意:如果你的文件名中带有空格,需要把文件名修改为不带空格。