概述
七牛雲OSS對象存儲bucket創建後有一個「外鏈默認域名」這個域名, 如果沒有記錯的2018上半年沒有回收這個概念,
2018下半年隱隱約約記錄收到過「【七牛雲】測試域名回收通知」郵件, 出現這個域名後也沒有太在意, 因爲是個人使用, 怎麼着都成!
後來用得着靜態文件存儲時就接着新建bucket, 接二連三的收到「測試域名回收通知」回收後最大的影響就是「整個Bucket基本所有功能都不能使用了, 都不能使用了, 都不能使用了~」
下載什麼的你就可勁點吧, 額~~~, 好吧!所有外部引用文件都不可用了, 你之前的所有引用又都想使用之前那些文件吧, 好了下載下來入到阿里雲對象存儲OSS完美解決問題, 請看下面遷移過程, 可能會對你有所幫助~
建立一個同區下的新Bucket
您需要先新建一個同區域存儲空間,會分配一個新的測試域名到新空間
下載qshell
關於qshell的下載請移步Github, 關於qshell的配置請參考命令行工具(qshell), 最好將qshell添加系統環境變量
設置qshell登錄賬號
查看 qshell account
命令使用方式
➜ qshell account --help
Get/Set AccessKey and SecretKey
Usage:
qshell account [<AccessKey> <SecretKey> <Name>] [flags]
Flags:
-h, --help help for account
-w, --overwrite overwrite account or not when account exists in local db, by default not overwrite
Global Flags:
-C, --config string config file (default is $HOME/.qshell.json)
-d, --debug debug mode
-L, --local use current directory as config file path
-v, --version show version
添加 qshell account
登錄賬號
AccessKey: 訪問密鑰
SecretKey: 安全密鑰
SelfCustomName: 此處填寫自定義的用戶名(這個name就是qshell存存您登陸的賬戶名,可以隨便設置的,比如qiniuaccount 或者 account_1 等等)
AccessKey 及 SecretKey 可以到控制檯右上角的個人面板,密鑰管理裏找到
### 格式: qshell account AccessKey SecretKey SelfCustomName
### 列如:
➜ qshell account AccessKey SecretKey warnerwu
將已被回收Bucket文件同步到新建Bucket
下載已被回收Bucket下所有文件列表到文件
進入到「本地數據備份路徑」如
➜ cd ~/qiniu/migration
執行以下命令, 下載已被回收Bucket下所有文件列表到文件
➜ migration qshell listbucket warner -o warner-data-list.txt
下載到已被回收Bucket下所有文件列表到文件具體內容類似如下圖所示
將下載到的文件的第一列複製到一個最終文件列表文件
➜ migration cat warner-data-list.txt | awk '{print $1}' > warner-data-list-final.txt
文件列表到文件內容如下:
將文件列表文件將舊Bucket文件列表文件拷貝到新建Bucket文件列表
➜ migration qshell batchcopy warner warnerwu-migration -i warner-data-list-final.txt
執行以上命令七牛雲會有一個安全機制就是讓你輸入驗證碼
到此文件也就會從舊Bucket拷貝或者說同步到新建Bucket列表啦~
下載已同步到建新Bucket文件到本地備份文件夾
關於如何下更詳細講解可以移步Github下載說明文檔
添加一個下載配置文件
文件名如 warnerwu-migration-download.conf
dest_dir: 爲本地備份文件絕對路徑文件夾, 不過這個絕對路徑要提交建立好
bucket: 要下載Bucket下文件所在的Bucket名稱
{
"dest_dir" : "/Users/warnerwu/qiniu/migration/warnerwu-migraition",
"bucket" : "warnerwu-migration"
}
下載Bucket列表文件到本地備份文件夾
-c: 10 參數 -c
代表是要使用多個 goroutine
進行下載Bucket列表下的文件, 我們都知道七牛後端全站 Go
語言開發, 對頭, 你當前使用的 qshell
也是使用 Go
語言編寫
➜ migration qshell qdownload -c 10 warnerwu-migration-download.conf
下載完成後會生成一個下載日誌文件, 它是默認生成當前用戶家目錄下
查看下載日誌文件
tail 默認顯示最後10行tail -n 24 可以指定顯示行數
➜ migration tail /Users/warnerwu/.qshell/qdownload/e65c69a164299e2f7045ea3b7a3d18d7/e65c69a164299e2f7045ea3b7a3d18d7.log
2019/02/18 22:14:33.548 [I] Download 2017.02.17.attrbute.01.png => /Users/warnerwu/qiniu/migration/warnerwu-migraition/2017.02.17.attrbute.01.png success 1785.53KB/s
2019/02/18 22:14:33.548 [I] -------Download Result-------
2019/02/18 22:14:33.548 [I] Total: 26
2019/02/18 22:14:33.548 [I] Skipped: 0
2019/02/18 22:14:33.548 [I] Exists: 0
2019/02/18 22:14:33.548 [I] Success: 26
2019/02/18 22:14:33.548 [I] Update: 0
2019/02/18 22:14:33.548 [I] Failure: 0
2019/02/18 22:14:33.548 [I] Duration: 2.205420428s
2019/02/18 22:14:33.548 [I] -----------------------------
可以看到這個下載還是很快的只用了 2
秒左右的時間, 並且所有的下載都成功了!
查看下載文件
最後
你可以將文件上傳到阿里雲對象存儲OSS上, 它不存在「測試域名」的問題, 不過你要先購買對象存儲OSS, 不貴40G好像是9塊多錢的樣子並是年!
希望本文對你的工作和學習有所幫助如果覺得還不錯怎麼感謝我呢? 媽呀! 點贊啊!
Good Luck! from warnerwu at 2019.02.18 PM