被七牛雲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, --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 可以到控制檯右上角的個人面板,密鑰管理裏找到

AccessKey 及 SecretKey

### 格式: qshell account AccessKey SecretKey SelfCustomName
### 列如:
➜  qshell account AccessKey SecretKey warnerwu

將已被回收Bucket文件同步到新建Bucket

下載已被回收Bucket下所有文件列表到文件

進入到「本地數據備份路徑」如
➜  cd ~/qiniu/migration
執行以下命令, 下載已被回收Bucket下所有文件列表到文件

下載已被回收Bucket下所有文件列表到文件

➜  migration qshell listbucket warner -o warner-data-list.txt
下載到已被回收Bucket下所有文件列表到文件具體內容類似如下圖所示

下載到已被回收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拷貝到新建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
下載完成後會生成一個下載日誌文件, 它是默認生成當前用戶家目錄下

下載Bucket列表文件到本地備份文件夾

查看下載日誌文件

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章