七牛資料從一個桶轉移到另一個桶
因為七牛臨時域名的原因,一些老的資料連線都對不上,我們這邊需要將一個 bucketA 到另外一個 bucketB 中。操作步驟如下
下載並 qshell
七牛官方下載頁面下載可執行檔案,因為我是 mac ,所以選擇 qshell_darwin_x64,找個合適的路徑,我的習慣是 $HOME/bin,配置好 PATH。
設定 account
$ qshell account AK SK name
新版本有個 name,老版本是沒有的。有找個引數可以更好的作區分。
列出 bucket
$ qshell listbucket bucketA -o srccopy.txt
xx簡歷.png 500071 FuEnT1v7oou7--ahA5gO1VIy4EHY 15283671101562504 image/png 0
將 bucket 中的所有檔案資訊匯出,BUT,這裡我對七牛這點不滿意,應該有個引數可以配置可以輸出哪些檔案資訊,一股腦所有資訊都丟擲來了,但是這裡是用 \t
分割的,那麼我們做個切分也就 ok 了。
處理檔案列表
來嘍!這裡突發奇想,來個 lua 指令碼。就是愛折騰
function split( str,reps )
local resultStrList = {}
string.gsub(str,'[^'..reps..']+',function ( w )
table.insert(resultStrList,w)
end)
return resultStrList
end
sourceFile = io.open ("srccopy.txt","r");
toFile = io.open("tocopy.txt" ,"w");
y=1
for line in sourceFile:lines() do
arr=split(line,"\t")
name=arr[1]
toFile:write(name.."\n")
y=y+1
end
sourceFile:close()
toFile:close()
copy bucket
$ qshell batchcopy --force --failure-list failure-list.txt bucketA bucketB -i tocopy.txt
處理失敗的我們可以記錄下來,大部分是檔名已存在,我這裡選擇不覆蓋,如果需要覆蓋新增上 --overwrite
引數。
總結
這是第一次對 lua 的使用,感覺還挺輕量,以後還可以多使用 lua。
參考
相關文章
- 如何搭建一個REACT全家桶框架React框架
- 將檔案轉移到一個資料夾內batBAT
- vue全家桶 ---建立一個新的vue專案Vue
- 給 rm 命令新增個「垃圾桶」
- nginx 從一個路徑訪問另一個路徑怎麼跳轉Nginx
- React全家桶+Egg 做一個協作聊天室~React
- 如何使用docker搭建一個全家桶開發環境Docker開發環境
- 流量管制-令牌桶與漏桶
- 基於令牌桶演算法實現一個限流器演算法
- 匯豐銀行從65個關聯式資料庫遷移到一個全球MongoDB資料庫 - diginomica資料庫MongoDB
- Spring全家桶一覽Spring
- Win10電腦把應用程式從一個桌面移到另一桌面的方法Win10
- 動圖之一個圓繞另一個圓轉動
- github倉庫遷移到gitlab以及gitlab倉庫遷移到另一個gitlab伺服器GithubGitlab伺服器
- react全家桶+koa2實現一個多人部落格~React
- 用react全家桶+antDesign寫了一個習慣管理專案React
- 桶排序排序
- 如何判斷一個類是從另一個類繼承繼承
- Flutter Candies 一桶天下Flutter
- 用Vue全家桶純手工搓了一個開源版「抖音」Vue
- Spring全家桶--單資料來源的配置Spring
- 多租戶:在Oracle12.2中 從Non-CDB遷移到PDB,從PDB遷移另一個CDB中Oracle
- mysql 從一個表中查詢,插入到另一個表中MySql
- SwnoRabbit全家桶
- 桶排序2排序
- vue全家桶Vue
- 將AWR資料傳輸到另一個系統
- 帶你用 Vue 全家桶和 Node.js 完成一個聚合應用VueNode.js
- 漏桶、令牌桶限流的Go語言實現Go
- 恆訊科技指導:如何快速將域名從一臺主機轉移到另一臺主機?
- 資料結構(python) —— 【18排序: 桶排序】資料結構Python排序
- Vue全家桶+Echarts資料視覺化實踐VueEcharts視覺化
- 七牛網資料備份
- 不想用Spring全家桶?試試這個國產JFinal框架Spring框架
- MongoDB 複製一個collection裡的資料到另一個collectionMongoDB
- 將一個Activity中的資料傳到另一個Activity的Fragment中的方法Fragment
- 替換燈桶
- github從一個倉庫切換到另一倉庫Github