背景
近期收到兩封七牛云發(fā)來的郵件:
測試域名回收通知
您的賬號xxx在七牛云融合CDN加速平臺有以下測試域名還剩7個自然日會被系統(tǒng)自動回收
由于,我博客所有的圖片文件都是存儲在七牛云的,這個域名也使用了一年多了,怎么突然要回收呢?
上網(wǎng)一搜才知道,大概是有什么不法分子之類的,使用七牛云的免費空間傳播色情暴力之類的內(nèi)容,被Godday制裁了,現(xiàn)在新申請的bucket只能使用一個月,要想綁定域名,還得備案操作。俺這小博客,也就自己玩玩的一個國外服務(wù)器,也備不了案啊。
無奈,看網(wǎng)上很多人都是被回收了才知道自己的圖片都訪問不了。還好我習(xí)慣性的看這些推送郵件,給自己留了一周時間用來備份轉(zhuǎn)移。既然免費的不好用了,微博之類的圖床不好遷移,所以就買了一年阿里云的OSS服務(wù)。
雖然我的圖片還算不是很多,但要是一張一張手動下載再上傳到阿里云,也是不小的工作量,而且太浪費時間了。
于是,今天就花了點時間寫了一個自動化遷移工具(move_qiniuyun_to_alioss),并開源到GitHub了,沒什么復(fù)雜的操作,就是把圖片down下來,本地備份一份數(shù)據(jù),然后再通過阿里云的API接口直接上傳到指定的bucket。
因為數(shù)據(jù)量不大,也沒考慮使用FIFO,異步之類的(看情況以后再優(yōu)化吧,一切以需求為導(dǎo)向)。
雖然小,但還是希望盡量做到通用化,我把所有的配置參數(shù)都抽到了config.py文件中。每個人根據(jù)自己的配置修改,直接就可以用了。
以下為類unix系統(tǒng)的教程
準(zhǔn)備工作
使用tool/目錄中的七牛云工具qshell-darwin-x64:
注:qshell使用指南請參考:https://github.com/qiniu/qshell
配置訪問騎牛云的account的access_key和secret_key
拉一份要搬移的七牛云bucket的文件清單:
# 需要先設(shè)置一下七牛云的 ak, sk # 獲取地址 https://portal.qiniu.com/user/key ./tool/qshell-darwin-x64 account ak sk # 分別是 執(zhí)行程序 命令行 bucket_name 生成的文件名 ./tool/qshell-darwin-x64 listbucket2 vimiix-blog-data listbucket.txt
執(zhí)行完以后正常會在當(dāng)前目錄生成一個listbucket.txt的文件,準(zhǔn)備工作就做好了。
修改配置文件
根據(jù)config文件中的注釋將每個參數(shù)設(shè)置為自己對應(yīng)的值即可。
AliOss AccessKeyID和AccessKeySecret獲取地址
https://usercenter.console.aliyun.com/#/manage/ak
執(zhí)行
這個工具使用到了阿里云的oss2包,需要版本大于3,但看官網(wǎng)寫著最高支持到Python3.5
所以我的虛擬環(huán)境也使用的Python3.5,建議你也這么做,省的麻煩。
# 創(chuàng)建虛擬環(huán)境,不需要單獨隔離環(huán)境的,可以直接在系統(tǒng)的 3 版本上安裝依賴包 virtualenv --python=python3.5 venv --no-site-package # 激活虛擬環(huán)境 source venv/bin/activate # 安裝依賴包 pip install -r pip-req.txt # 執(zhí)行 python main.py
執(zhí)行結(jié)果
大功告成!
項目地址
https://github.com/vimiix/move_qiniuyun_to_alioss
作者:Vimiix
鏈接:https://www.jianshu.com/p/bb1b5aa87da6