问题由于网站的大部分床图一直使用的是七牛的,近期官网更新,导致原测试域名已失效,之前在测试域名存储的图片无法访问、查看、下载,网站文章关联的图片无法正常查看。所以决定把图片从七牛迁移至Github来存储,弃用七牛云

1
2
七牛融合 CDN 测试域名(以 clouddn.com/qiniucdn.com/qiniudn.com/qnssl.com/qbox.me 结尾),每个域名每日限总流量 10GB,
每个测试域名自创建起 30 个自然日后系统会自动回收,仅供测试使用,详情查看 七牛测试域名使用规范 。

具体操作分三步

1
2
3
- Step1:从废弃测试域名空间至可用测试域名空间迁移
- Step2:从测试域名的空间下载至本机
- Step3:从本机上传至Github中

Step1:从废弃测试域名空间至可用测试域名空间迁移

废弃测试域名空间:bucketA,可用测试域名空间:bucketB

  • 下载qshell包到本机,解压,查看是否可以正常运行

    1
    2
    ➜  qshell-v2.2.0 ./qshell-darwin-x64 -v
    QShell/v2.2.0 (darwin; amd64; go1.9)
  • 执行./qshell-darwin-x64 account AK SK配制自己的账号信息,AK/SK查看方法https://portal.qiniu.com/user/key,检验是否配制成功

    1
    2
    3
    ➜  qshell-v2.2.0 ./qshell-darwin-x64 account
    AccessKey: Your AK
    SecretKey: Your SK
  • 使用导出文件列表命令,导出需要迁移的bucketA文件列表

1
➜  qshell-v2.2.0 ./qshell-darwin-x64 listbucket bucketA tocopy.txt
  • 需要手动把tocopy.txt中的的每行内容修改为仅有文件名

  • 执行平移(batchcopy)命令

    1
    ➜  qshell-v2.2.0 ./qshell-darwin-x64 batchcopy --force --overwrite bucketA bucketB tocopy.txt

至些,已完成失败图片的救援工作

Step2:从测试域名的空间下载至本机

  • 新增一个qdownload配制文件,具体使用参考,精简版本如下:
    1
    2
    3
    4
    5
    {
    "dest_dir" : "YourDownloadPath",
    "bucket" : "bucketB",
    "cdn_domain" : "ConfigYourTestCDNDomain"
    }

如果不配制cdn_domain的话,需支付源站流量费用,无法减免。官方说法,官方说法,官方说法

  • 执行下载命令,便会开始进入图片下载
    1
    ./qshell-darwin-x64 qdownload 10 download.conf

下载结束后,会生成一个下载日志文件,用于查看下载过程。至此,所有图片已下载至本机

Step3:从本机上传至Github中

  • 将本机图片上传至Github中(依据自己的喜好,随便存)
  • 修改原来文章中的链接地址指向七牛的地址,全部重新指向Github地址。

经测试,所有图片均可正常打开,网站的图片均可正常打开及查看。