👨‍💻 只是玩玩 | JUST FUN

全站HTTPS 【1】:为了薅羊毛七牛迁移到又拍云

一直以来本站都是使用的Http协议,之前也有想过搞全站Https,但是七牛的Https流量并不纳入免费额度里面,所以如果用的话就意味着薅不到羊毛了。

不过七牛虽然不免费,但是又拍云可以,这两家云储存可以说是所有博友基本上都了解过的平台,又拍云也有一个推广联盟的优惠,每月有10G的免费储存空间+15GB的免费流量,这不比七牛香?但是那段时间事情多,迁移好像还比较麻烦,所以就一直搁置了,今天忽然脑子发热就顺手想开始着手搞这件事,所以写篇文章记录一下。

🎁
欢迎使用我的邀请链接注册,你能获得61元的免费代金券,以及首充返利10%的优惠:https://console.upyun.com/register/?invite=9H59vHqjD

申请成为又拍云大使

又拍云联盟 - 开发者帮助计划,为开发者加速 - 又拍云
又拍云联盟是由又拍云推出的开发者帮助计划,对开发者提供免费且完善的云存储、CDN等服务,加速个人网站、博客、APP等项目

点击上面这个链接即可跳转又拍云官方网站,先注册账号,并在你的博客上挂上他们的链接后填写申请即可。可能要等一会儿,我当时好像是隔天才审核通过,不过有可能是因为周末的原因?

又拍云联盟

下载七牛云数据

起初担心自己弄会不会导致导出的文件前缀不对最后因为数据错乱无法访问,不过后来我看了下七牛的一些介绍,发现这些所谓的前缀其实就新建了文件夹,导出后也是以文件夹格式存储的,如: imgs/ 前缀,其实就是上传到名为 imgs 的文件夹里,这样就能放心弄了,只要文件夹层级结构一致即可。

在迁移七牛云的数据之前我在网络上搜索了一下,发现没有什么现成的工具可以一键完成迁移操作。

我也写了个工单问了一下又拍云的工作人员,发现只能通过最原始的方式:先把七牛的下下来,再传上又拍云。

又拍云客服答复

目前找到的资料都是利用七牛开发者中心的 qshell 工具将所有文件下载下来,再重新上传到其他平台。

命令行工具(qshell)_实用工具_对象存储 - 七牛开发者中心
qshell 工具文档

安装qshell

我是windows平台,安装的方法有两种一种是直接再目录里执行exe程序,另外一种方法把Bin路径添加到系统Path里。

第一种

##假设qshell下载后解压在D盘的qshell目录里
D:
cd qshell
qshell.exe qdownload -c 10 "配置文件路径"
直接执行exe文件

第二种

打开系统属性环境变量 我的电脑上右键 > 属性 > 高级系统设置 > 高级选项卡 > 环境变量按钮 即可。

创建配置文件

然后在同目录下新建一个用于下载时调用的配置文件 qdisk_down.conf ,里面设置了本地文件的存放路径,远端Bucket的名字、只下载指定的文件等等。我的配置如下,我这没有限制后缀,可以把所有的文件全都下载下来。

{
    "dest_dir"               :   "本地数据备份路径,为全路径",
    "bucket"                 :   "空间名称",
    "check_hash"             :   false,
    "cdn_domain"             :   "设置下载的 CDN 域名,默认为空表示从存储源站下载,【该功能默认需要计费,如果希望享受 10G 的免费流量,请自行设置 cdn_domain 参数,如不设置,需支付源站流量费用,无法减免!!!】",
    "public"                 :   true
}
批量下载的配置文件
🗒️

执行下载命令

命令如下,其中要注意的是 10 代表的是同时下载的现成,建议改成50或100,我起初用的默认,下载速度要慢很多。另外配置文件的路径要全路径,并且用两个斜杠。

##path模式执行
qshell qdownload -c 10 D:\\qshell\\qdisk_down.conf
##exe模式执行
qshell.exe qdownload -c 10 D:\\qshell\\qdisk_down.conf
两种执行方式,切记配置文件要全路径,并且双斜杠

上传又拍云

又拍云这边可以使用FTP操作,通过 FTP/FTPS 客户端,可以连接云存储的 FTP/FTPS 服务器,实现对云存储的管理。官方推荐使用 FileZilla 客户端

FTP地址:

  • 智能选路(推荐): v0.ftp.upyun.com
  • 电信线路: v1.ftp.upyun.com
  • 联通线路: v2.ftp.upyun.com
  • 移动线路: v3.ftp.upyun.com

加密方式:ftp 选择   “不加密” 模式 ,ftps 选择 “显式的 FTP over TLS” 模式

  • 用户名:操作员名/服务名,如 operator/mybucket
  • 密码: 操作员的密码
  • 端口: 21

然后把下载下来的文件上传到根目录后设置CDN绑定即可完成储存系统迁移

Ghost的又拍云上传组件

再推荐一个适用于Ghost的又拍云的上传组件
https://github.com/leoskey/ghost-upyun-store

干了件很蠢的事

我装这个又拍云的插件装了好久,一直提示需要配置名为 upyun 的服务,前前后后搞了两个小时。最后发现原来是自己配置文件写错了,把又拍云的配置项写成了七牛云的配置的子内容,因为是JSON格式的配置文件,而且格式没错,所以没报错。

注意看括号,我真是🐖