被七牛雲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: 訪問密鑰git

SecretKey: 安全密鑰github

SelfCustomName: 此處填寫自定義的用戶名(這個name就是qshell存存您登錄的帳戶名,能夠隨便設置的,好比qiniuaccount 或者 account_1 等等)shell

AccessKey 及 SecretKey 能夠到控制檯右上角的我的面板,密鑰管理裏找到json

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

相關文章
相關標籤/搜索