1. 程式人生 > >七牛雲端儲存 qiniu 測試域名被回收 檔案備份 批量下載

七牛雲端儲存 qiniu 測試域名被回收 檔案備份 批量下載

Markdown版本筆記 我的GitHub首頁 我的部落格 我的微信 我的郵箱
MyAndroidBlogs baiqiantao baiqiantao bqt20094 [email protected]

七牛雲端儲存 qiniu 測試域名被回收 檔案備份 批量下載


目錄

目錄
背景
解決方法
下載 qshell
命令列操作過程
下載檔案時的詳細配置

背景

七牛儲存空間配置的測試域名30天后就被回收了,導致我之前上傳的資源無法訪問,並且去控制檯發現也完全無法下載、無法備份,因為七牛我主要是用來作為圖床的,這麼一來,我之前GitHub、部落格、markdown筆記裡面引用的圖片都全部顯示不了了,這真是個巨坑呀!

不過好在還有補救措施,我們可以先想辦法把檔案恢復,然後轉移到其他雲伺服器中。下面就是恢復檔案的教程。

導致這種情況的官方說明詳見:測試域名使用規範
其中最狠的是這句話:

每個測試域名生命週期為30個自然日,超過30日系統將自動回收,回收即為域名刪除。

解決方法

下載 qshell

GitHub下載 qshell命令列工具

,根據作業系統選擇對應的版本。

注意:本工具是一個命令列工具,在Windows下面請先開啟命令列終端(CMD),然後輸入工具名稱執行,不要雙擊開啟,否則會出現閃退現象。

檔名 描述
qshell-windows-x86.exe Windows 32位系統
qshell-windows-x64.exe Windows 64位系統

建議將檔名修改為 qshell,以簡化後續命令列時的輸入。

命令列操作過程

登入
account 命令簡介
例如:qshell account m1** ZM**

列舉七牛空間裡面的所有檔案
listbucket 命令簡介
例如:qshell listbucket blog-2018 list.txt

生成的檔案格式如下:
blog/180927/1G6FDLDF75.png 19963 FlOF-rOkQrjmTOY9KVDF-uUwZ9mZ 15380564227730302 image/png 0 0

獲取list.txt結果的第一列
在linux環境中可以使用cat命令:cat list.txt | awk '{print $1}' >list_final.txt
也可以通過任意方法處理(Excel、正則表示式、手動寫程式碼...),處理後的檔案格式例如:blog/180927/1G6FDLDF75.png

批量複製七牛空間中的檔案到另一個空間
batchcopy 命令簡介
例如:qshell batchcopy blog-2018 blog-2018-copy list_final.txt

從七牛空間下載資料到本地
qdownload 命令簡介
例如:qshell qdownload qshell.conf

配置檔案 qshell.conf 內容如下:

{
    "dest_dir" : "D:\\七牛檔案",
    "bucket" : "blog-2018-copy",
    "cdn_domain" : "phz2kt37i.bkt.clouddn.com"
}

至此,全部檔案都下載下來了。

下載檔案時的詳細配置

{
    "dest_dir" : "D:\\七牛檔案",
    "bucket" : "blog-2018-copy",
    "prefix" : "",
    "suffixes" : "",
    "cdn_domain" : "phz2kt37i.bkt.clouddn.com",
    "referer" : "",
    "log_file" : "download.log",
    "log_level" : "info",
    "log_rotate" : 1,
    "log_stdout" : false
}
引數名 描述 可選引數
dest_dir 本地資料備份路徑,為全路徑 N
bucket 空間名稱 N
prefix 只同步指定字首的檔案,預設為空 Y
suffixes 只同步指定字尾的檔案,預設為空 Y
cdn_domain 設定下載的CDN域名,預設為空表示從儲存源站下載,【該功能預設需要計費】 N
referer 如果CDN域名配置了域名白名單防盜鏈,需要指定一個允許訪問的referer地址 N
log_level 下載日誌輸出級別,可選值為debug,info,warn,error,預設info Y
log_file 下載日誌的輸出檔案,如果不指定會輸出到qshell工作目錄下預設的檔案中 Y
log_rotate 下載日誌檔案的切換週期,單位為天,預設為1天即切換到新的下載日誌檔案 Y
log_stdout 下載日誌是否同時輸出一份到標準終端,預設為false Y

2018-11-10