背景

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

测试域名回收通知

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

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

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

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

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

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

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

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

以下为类 unix 系统的教程

准备工作

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

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

  • 配置访问骑牛云的 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 文件中的注释将每个参数设置为自己对应的值即可。

  • AliOss AccessKeyID 和 AccessKeySecret 获取地址

    • usercenter.console.aliyun.com/#/manage/ak

执行

这个工具使用到了阿里云的 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
复制代码

执行结果

大功告成!

项目地址

  • github.com/vimiix/move…

--- EOF ---

转载于:https://juejin.im/post/5bd129b8e51d457a2832ba27

自动化迁移七牛云的数据到阿里云OSS相关推荐

  1. 七牛云存储挂载到阿里云ECS上的目录下,达到扩容磁盘的效果

    七牛云存储挂载到阿里云ECS上,达到扩容磁盘的效果 1. 安装环境 yum install automake fuse fuse-devel gcc-c++ git libcurl-devel lib ...

  2. 安装es怎么在后台运行_ES备份索引数据到阿里云OSS

    ES的快照备份当前是存放在NAS下,考虑成本问题现在打算把快照备份到阿里云OSS下. https://github.com/aliyun/elasticsearch-repository-oss,此插 ...

  3. ideaspringboot项目上传服务器_nuxt+pm2 自动化部署及打包后文件自动上传阿里云 oss

    在读这篇文档时,希望你对 nuxt 及 pm2,有简单的了解 nuxt pm2 前期准备 安装 pm2 及构建 nuxt $ npm i pm2 -g $ npx create-nuxt-app &l ...

  4. 七牛云自定义域名配置阿里云SSL证书

    前提  配置证书前需要在七牛云的空间管理中配置了一个使用阿里云域名进行访问的空间,可查看我的另一篇配置空间管理的博客:七牛云空间设置自定义域名 获取阿里云域名SSL证书 1.直接在阿里云的SSL证书中 ...

  5. 七牛云配置CDN,阿里云,ERROR: ACCESS DENIED,访问失败

    ####首先说下配置,最近七牛云出了一个cdn加速. 第一步,七牛云->CDN->创建一个绑定的域名 ####第二步,添加域名信息 举个栗子: images.baidu.com 就是普通域 ...

  6. 第三方存储系统(一):阿里云OSS云存储配置及Java上传接口设计

    第三方存储系统(一):阿里云OSS云存储配置及Java上传接口设计 项目开发中,为了实现静态资源分离,提高系统运行的速率和稳定性,我们会把资源文件剥离出项目系统.而搭建文件存储系统就成为了不可或缺的工 ...

  7. 解决七牛云链接失效以及批量下载图片并迁移阿里云 OSS

    起因 七牛云对测试域名进行回收,而我博文中图片用的链接仍然是测试域名的链接,因此导致部分链接失效,浏览器返回如下错误: {"error":"no such domain& ...

  8. 用多备份将网站数据备份到百度云,七牛云存储,阿里云OSS,亚马逊S3,金山云等云存储服务上

    真正运营过网站的人都知道,数据对一个网站来说至关重要,因此,网站数据备份也是日常必做工作.因为误操作,网站被攻击等种种原因都会导致数据丢失,这时,你才会明白"有备无患"的道理.备份 ...

  9. 七牛云和阿里云OSS存储图片服务器使用

    目录 1 图片存储方案 1.1 介绍 1.2 七牛云存储 1.2.1 注册.登录 1.2.2 新建存储空间 1.2.3 查看存储空间信息 1.2.4 开发者中心 1.2.5 鉴权 1.2.6 Java ...

最新文章

  1. LeetCode刷题指南!
  2. Android Permission(授权)大全
  3. ASP.NET中如何搭建三层架构
  4. Boost:bind绑定一元地址的测试程序
  5. 2021垂直类电商私域化洞察报告
  6. 英伟达:今年显卡将继续供不应求 尽量保证供应普通玩家
  7. Python之数据分析(figure图形对象、Numpy连线特殊点、图像多元布局)
  8. 剑指Offer之逆序对问题
  9. ant-mobile的Toast的样式修改(react)
  10. 逻辑漏洞-支付风险-大疆某处支付逻辑漏洞可1元买无人机
  11. VBA 提取 Office 2016 工具栏图标
  12. 通用计算机实习周记,实习周记100篇通用版|绘图员实习周记范文
  13. w7怎么更换计算机用户名和密码怎么办,win7怎么修改系统用户名
  14. 磷酸氢二钠作用及分子量
  15. Mybatis学习笔记(二)
  16. Ae效果控件快速参考:抠像
  17. 利用python批量合并excel和word内的表格
  18. 音频特效生成与算法 1
  19. 朱威廉假收购真炒作的背后企图
  20. 虚拟服务器怎么安装网站控制面板,如何在虚拟主机上安装网站模板

热门文章

  1. VsCode主题推荐
  2. VGA,DVI,RS232,UART,SCSI,SATA等等接口怎么区分?
  3. 字节(计算机单位)-1024
  4. Fomo3D 游戏的第一轮是如何结束的
  5. 夏季如何根据不同脸形搭配太阳镜
  6. Angular2、AngularJS、React、vue.js过去一年的Google趋势分析
  7. Centos系统内存查看与缓存清理
  8. 一本通 1169:大整数减法
  9. 单片机按键扫描:分别实现长按两秒运行一种功能,短按松开后运行另一种功能
  10. 怎么从H5广告页内复制微信号直接调起微信客户端关注公众号