博客搭建的时候选择了七牛云作为图床,到目前为止往上传了大概 100 张图片。近日收到七牛云测试域名回收的通知,只好另选其它云存储作为博客图床,网络上已有图床迁移方法,遂参考并记录于此。
0x01 下载图片
七牛云提供命令行工具 qshell 操作对象存储,可以使用该工具将已有数据同步到本地。
1. 密钥设置
首先需要设置密钥,密钥 ak
与 sk
可在“个人面板/密钥管理”中查看。
2. 同步数据
使用 qdownload 命令可将图片同步到本地,该功能是收费的,但是通过设置 cdn_domain
参数可免费使用 10G 的流量。该命令使用方法如下,其中 LocalDownloadConfig
为本地下载的配置文件。
为能使用免费流量,新建如下配置文件,其中 bucket
为存储空间名称,cdn_domain
为需同步存储空间的外部默认域名。
命令执行完后,所有图片将下载到 dest_dir
设定的目录中。
0x02 腾讯云 COS
1. 上传图片
首先创建存储空间,并设置访问权限为公有读私有写,创建好后将下载的图片批量上传至 COS。为方便替换已有文章中图片链接,应保留七牛云中数据的文件夹结构。
此外,为了防止盗链导致免费流量被耗尽,需要设置防盗链,将博客域名加入白名单中。但设置之后,本地文章中无法正常访问图片,所以酌情设置该功能。
2. 修改链接
将图片上传到腾讯云 COS 之后,即可正常访问这些图片。接下来需要修改已有文章中的图片链接,将链接中的七牛云域名 old_domain_name
替换为腾讯云域名 new_domain_name
(在“基础配置/访问域名”中查看),下面使用 sed
命令进行批量修改。
所有链接修改完后,博客图床迁移便完成了。
2020.04.05 更新:近期腾讯云 COS 完成商业版测试,后续 COS 不再免费。因为贫穷,最终又把图床迁移到 Github。
0x03 PicGo
PicGo 是一款图片上传工具,可支持多种图床,其中包括腾讯云 COS。配置方法参看 官方文档,由于主账户权限较大,基于安全考虑,建议新建一个子账户,并对该子账户只授予 COS 读写权限,具体设置方法参考 使用子账号对 COS 进行授权。
References:
[1] 七牛测试域名回收迁移博客图床到腾讯云
[2] 把博客图床从七牛云迁移到腾讯云