天天看點

阿裡雲oss遷移到騰訊雲cos 方法一

cos_migration 遷移工具可以将您在阿裡雲存儲上的檔案同步到騰訊雲對象存儲(COS)上。

主要特性:

支援斷點續傳

支援并行資料下載下傳/上傳

支援自動同步增量資料

客戶隻需配置阿裡雲的存儲資訊以及騰訊雲(COS)的賬号資訊,運作工具,即可自動遷移。遷移後,檔案的名稱、路徑和資料源保持一緻。

遷移效果示例:

<a></a>

cos_migration 遷移工具目前隻支援 Linux 系統。

cos_migration 遷移工具會用到 php 和 php-curl 擴充,是以請先安裝 php 和 php-curl。

安裝 php 和 php-curl 的方法:

将安裝包放置在存儲空間較大的磁盤目錄下,執行 tar 指令解壓即可使用。

配置檔案 config.ini 位于工具 cos_migration_tools 目錄的 conf 目錄下,修改 config.ini 中的參數即可完成工具配置。

配置參數分為兩方面内容:資料源資訊設定 和 騰訊雲 COS 資訊設定。

阿裡雲oss遷移到騰訊雲cos 方法一

點選【擷取 secretKey 按鈕】,擷取以下資訊:

阿裡雲oss遷移到騰訊雲cos 方法一

添加到如下配置中:

以 aliyun 為例,遷移整個 bucket。

遷移檔案夾 dir1

遷移檔案 a.txt

注意:這裡是對檔案名進行字首比對,如果有 a.txt2 這樣的檔案,會一并遷移。

控制同時遷移的檔案數,為了加快遷移速度、跑滿帶寬,可适當将該值調大,比如:若帶寬為20Mb/s以上,可以将 Concurrency 的值設為100;若帶寬較小,可以适當調小,以保證下載下傳和上傳的成功率。

所有工具都放置在工具包的 bin 目錄下,是以,首先請進入 bin 目錄

運作以下指令啟動遷移:

由于在指令中指定了&amp;符号,是以遷移任務會在背景運作。

遷移工具會首先從阿裡雲存儲擷取所有檔案清單,然後按照配置的并發數,将任務拆分,并發執行下載下傳和上傳。任務拆分完,界面會輸出:start task down. use ./stat.sh to see task status,注意,此條輸出隻表示任務啟動完畢,此時遷移任務還很有可能正在進行。若想得知遷移是否完成,可以進一步使用【檢視遷移進度】指令。

運作界面大緻如下:

阿裡雲oss遷移到騰訊雲cos 方法一

會輸出要遷移的檔案總數,以及已經遷移成功和遷移失敗的檔案數。

若檔案清單還沒有拉取完畢,會每3秒輸出一次目前已擷取的檔案數,輸出為這樣:

阿裡雲oss遷移到騰訊雲cos 方法一

當所有清單拉取完畢,開始執行下載下傳和上傳,會每3秒輸出一次已上傳成功的檔案數和失敗的檔案數,類似這樣:

阿裡雲oss遷移到騰訊雲cos 方法一

工具退出方法: ctrl-c

若輸出異常可以使用【檢視遷移進展詳情】指令,檢視具體情況。

若有失敗的遷移檔案,可以使用【擷取失敗檔案資訊】指令,檢視失敗原因,處理方法見【異常處理】。

會輸出遷移工具運作的詳細情況。正常情況下,若開始進行上傳下載下傳,輸出為這樣:

阿裡雲oss遷移到騰訊雲cos 方法一

遷移完後 工具會自動推出。

工具退出方法: kill 背景程序号。

如果遷移已經完成會輸出:no, task has been done

如果還在遷移會輸出:yes, still doing download and upload...并且輸出正在運作的程序資訊

阿裡雲oss遷移到騰訊雲cos 方法一

運作該腳本後,遷移任務就會停止,之後想再啟動,可以重新開機遷移任務。

如果有輸出 has migrate[XX] files, will migrate[XX] files 的資訊,如下圖,說明檔案清單已經擷取完畢,可以不再拉取檔案清單重新開機。

阿裡雲oss遷移到騰訊雲cos 方法一

如果沒有輸出,說明清單沒有擷取完畢,再次啟動時,需要重新運作【啟動遷移】指令。

可以擷取失敗檔案的資訊。

如果希望重新遷移已經遷移過的檔案,則需要清空 output 檔案夾中的檔案。

遷移的時候,把新拉取下來的檔案,和之前遷移成功的檔案去重,并生成形如 filelist.1470216681 的檔案,這個檔案内容是原始拉取下來的檔案清單,而這個 filelist 檔案是去重後的結果。

未安裝 php 時會報錯:

阿裡雲oss遷移到騰訊雲cos 方法一

未按照 php-curl 時會報錯:

阿裡雲oss遷移到騰訊雲cos 方法一

1.若中途異常,可以【停止遷移】,或者【檢視遷移進展詳情】。

2.若在【檢視遷移進度】結果中有失敗的遷移檔案,例如下圖:

阿裡雲oss遷移到騰訊雲cos 方法一

此時不必緊張,等所有任務都跑完後(輸入【詢問任務是否結束】指令,顯示任務已經結束),使用【不再拉取檔案清單重新開機】指令,會把失敗的任務重新執行,已成功的不會再執行。

本文轉自 藍葉子Sheep 51CTO部落格,原文連結:http://blog.51cto.com/dellinger/1971599,如需轉載請自行聯系原作者