被七牛雲OSS物件儲存測試域名回收後正確資料遷移姿勢!
概述
七牛雲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, --helphelp for account -w, --overwriteoverwrite account or not when account exists in local db, by default not overwrite Global Flags: -C, --config stringconfig file (default is $HOME/.qshell.json) -d, --debugdebug mode -L, --localuse current directory as config file path -v, --versionshow 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