图床迁移记录

起因

15年开始就一直以七牛做图床,空间流量对我这个小博客来说完全够用,然鹅一年前开始,七牛收回了下发的测试域名,只能用备案的域名,我这个小域名没有备案,所以也就没办法继续使用了。所以开工吧

一. 配置qshell账号

迁移的话我们需要把我们之前存储的图片导出来,七牛有一个qshell 可以帮助我们进行操作。先下载qshell包到本机,解压,查看是否可以正常运行。执行

1
$ qshell account ak sk

来配置账号密码,账号和密码信息在这里 https://portal.qiniu.com/user/key

二 将废弃测试域名空间转移至测试域名空间

配置成功之后下一步就是导出图片了,首先将图片从废弃域名空间转移到新的测试域名空间(这个新的是有期限的,所以不能长期使用,这里用来过度)

1
2
3
1)qshell listbucket 原bucket名 list.txt (list出全部文件,https://github.com/qiniu/qshell/blob/master/docs/listbucket.md)
2)cat list.txt | awk '{print $1}' >list_final.txt ( 用awk获取list结果的第一列)
3)qshell batchcopy 原bucket名 新bucket名 list_final.txt (复制到新bucket的文件和原bucket文件名一)

三 将新的可用测试域名空间中的图片下载到本地

七牛提供了 qdownload 的方法,但是这个是收费的,但是不慌,通过设置 cdn_domain 参数可免费使用 10G 的流量。该命令使用方法如下,其中 LocalDownloadConfig 为本地下载的配置文件。

1
$ qshell qdownload [<ThreadCount>] <LocalDownloadConfig>

新建一个配置文件,其中 bucket 为存储空间名称,cdn_domain 为需同步存储空间的外部默认域名,如果不配制cdn_domain的话,需支付源站流量费用,无法减免。

1
2
3
4
5
6
7
8
9
{
"dest_dir" : "/Users/it-ab/Desktop/backup",
"bucket" : "chaoxbackup",
"cdn_domain" : "pt0zshk5v.bkt.clouddn.com",
"log_file" : "download.log",
"log_level" : "info",
"log_rotate" : 1,
"log_stdout" : false
}

命令执行完后,所有图片就会下载到指定的目录中。

四 上传图片到新的图床

我这里选择了github作为新的图床,没有去自己搭建也没去找新的渠道,新建一个Project把上面下载出来的文件夹push上去。

五 更换博客中的图片地址

如果量很大的话可以用脚本正则去批量替换,我这里量非常少,所以手动就换好了。

至此图床迁移完毕,待发掘到更好的图床再折腾吧。