将七牛图床切换为腾讯 COS
最近七牛更改了域名的使用政策,把每个空间分配的域名成了测试域名了,每个空间的域名只能使用 30 天,到期了外链就都无法访问了,简直坑爹啊。如果想使用外链,就得用自己备案过的域名。
今天登陆七牛控制台看了下,吓我一跳:
之前使用的都是七牛提供的二级域名,一直都没什么问题,最近七牛更改了域名的使用政策,把每个空间分配的域名成了测试域名了,每个空间的域名只能使用 30 天,到期了外链就都无法访问了,简直坑爹啊。如果想使用外链,就得用自己备案过的域名。
这样的话,就只能放弃七牛了,国内可以做图床的还有腾讯云 COS(对象存储),调研了一番,觉得还不错。腾讯云COS 的外链同样支持 https,并且也提供一定的免费额度,对我来说也基本够用了。
下载七牛资源
想要把七牛上的资源都迁移到腾讯云,先要把七牛上的资源都下载下来,然后再上传到腾讯云,而现在七牛空间的域名都失效了,所有的资源现在都无法访问。那么怎么下载呢?
可以新建一个七牛空间,新建的空间是有 30 天的有效期的。使用七牛提供的 qshell 工具获取之前空间的文件列表,然后拷贝到新建的空间里。然后批量下载下来就可以了。
先下载 qshell。
//更改执行权限
sudo chmod +x qshell-darwin-x64
ln -s qshell-darwin-x64 qshell
//登录七牛
./qshell account <AK> <SK>
//获取旧的空间文件列表
./qshell listbucket <旧的存储空间名称> list.txt
# 切割出文件名
cat list.txt | awk -F '\t' '{print $1}' > list_final.txt
# 把过期的文件列表搬迁到新的存储空间,我这里会出现让输入一个确认字符串,照着输入就行
./qshell batchcopy <旧的存储空间名称> backup list_final.txt
如果有多个空间,可以多重复几次,这样文件就都拷贝到新空间了。接下来就可以下载了:
qshell qdownload <download.conf>
需要新建一个下载配置文件:
{
"dest_dir" : "/xxx/xxx/Downloads/qiniu", //下载路径
"bucket" : "backup", //新建的空间名称
"prefix" : "",
"suffixes" : "",
"cdn_domain" : "http://ph8w9ahwg.bkt.clouddn.com", //空间的域名
"referer" : "",
"log_file" : "download.log",
"log_level" : "info",
"log_rotate" : 1,
"log_stdout" : false
}
上传到腾讯云
腾讯云提供了 macOS 和 Windows 的客户端,上传起来很方便:
https://cloud.tencent.com/document/product/436/11366
导出博客为 json,接下来可以把 json 文件中的七牛域名全部替换成腾讯云 COS 的外链域名,替换完毕,再把 json 重新导入到博客就可以了。