美文网首页
自动化迁移七牛云的数据到阿里云OSS

自动化迁移七牛云的数据到阿里云OSS

作者: Vimiix | 来源:发表于2018-10-25 10:47 被阅读0次

    背景

    近期收到两封七牛云发来的邮件:

    测试域名回收通知

    您的账号 xxx 在七牛云融合CDN加速平台有以下测试域名还剩7个自然日会被系统自动回收

    由于,我博客所有的图片文件都是存储在七牛云的,这个域名也使用了一年多了,怎么突然要回收呢?

    上网一搜才知道,大概是有什么不法分子之类的,使用七牛云的免费空间传播色情暴力之类的内容,被 Godday 制裁了,现在新申请的 bucket 只能使用一个月,要想绑定域名,还得备案操作。俺这小博客,也就自己玩玩的一个国外服务器,也备不了案啊。

    无奈,看网上很多人都是被回收了才知道自己的图片都访问不了。还好我习惯性的看这些推送邮件,给自己留了一周时间用来备份转移。既然免费的不好用了,微博之类的图床不好迁移,所以就买了一年阿里云的 OSS 服务。

    虽然我的图片还算不是很多,但要是一张一张手动下载再上传到阿里云,也是不小的工作量,而且太浪费时间了。

    于是,今天就花了点时间写了一个自动化迁移工具(move_qiniuyun_to_alioss),并开源到 GitHub 了,没什么复杂的操作,就是把图片 down 下来,本地备份一份数据,然后再通过阿里云的 API 接口直接上传到指定的 bucket。

    因为数据量不大,也没考虑使用 FIFO,异步之类的(看情况以后再优化吧,一切以需求为导向)。

    虽然小,但还是希望尽量做到通用化,我把所有的配置参数都抽到了 config.py 文件中。每个人根据自己的配置修改,直接就可以用了。

    以下为类 unix 系统的教程

    准备工作

    使用 tool/ 目录中的七牛云工具 qshell-darwin-x64

    注:qshell 使用指南请参考:https://github.com/qiniu/qshell

    • 配置访问骑牛云的 account 的 access_keysecret_key
    • 拉一份要搬移的七牛云 bucket 的文件清单:
    # 需要先设置一下七牛云的 ak, sk
    # 获取地址 https://portal.qiniu.com/user/key
    ./tool/qshell-darwin-x64 account ak sk
    # 分别是 执行程序 命令行 bucket_name 生成的文件名
    ./tool/qshell-darwin-x64 listbucket2 vimiix-blog-data listbucket.txt
    

    执行完以后正常会在当前目录生成一个 listbucket.txt 的文件,准备工作就做好了。

    修改配置文件

    根据 config 文件中的注释将每个参数设置为自己对应的值即可。

    执行

    这个工具使用到了阿里云的 oss2 包,需要 版本大于3, 但看官网写着最高支持到Python3.5

    所以我的虚拟环境也使用的Python3.5,建议你也这么做,省的麻烦。

    # 创建虚拟环境,不需要单独隔离环境的,可以直接在系统的 3 版本上安装依赖包
    virtualenv --python=python3.5 venv --no-site-package
    
    # 激活虚拟环境
    source venv/bin/activate
    
    # 安装依赖包
    pip install -r pip-req.txt
    
    # 执行
    python main.py
    

    执行结果

    image

    大功告成!

    项目地址

    --- EOF ---

    相关文章

      网友评论

          本文标题:自动化迁移七牛云的数据到阿里云OSS

          本文链接:https://www.haomeiwen.com/subject/ffsqtqtx.html