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 資訊設定。
點選【擷取 secretKey 按鈕】,擷取以下資訊:
添加到如下配置中:
以 aliyun 為例,遷移整個 bucket。
遷移檔案夾 dir1
遷移檔案 a.txt
注意:這裡是對檔案名進行字首比對,如果有 a.txt2 這樣的檔案,會一并遷移。
控制同時遷移的檔案數,為了加快遷移速度、跑滿帶寬,可适當将該值調大,比如:若帶寬為20Mb/s以上,可以将 Concurrency 的值設為100;若帶寬較小,可以适當調小,以保證下載下傳和上傳的成功率。
所有工具都放置在工具包的 bin 目錄下,是以,首先請進入 bin 目錄
運作以下指令啟動遷移:
由于在指令中指定了&符号,是以遷移任務會在背景運作。
遷移工具會首先從阿裡雲存儲擷取所有檔案清單,然後按照配置的并發數,将任務拆分,并發執行下載下傳和上傳。任務拆分完,界面會輸出:start task down. use ./stat.sh to see task status,注意,此條輸出隻表示任務啟動完畢,此時遷移任務還很有可能正在進行。若想得知遷移是否完成,可以進一步使用【檢視遷移進度】指令。
運作界面大緻如下:
會輸出要遷移的檔案總數,以及已經遷移成功和遷移失敗的檔案數。
若檔案清單還沒有拉取完畢,會每3秒輸出一次目前已擷取的檔案數,輸出為這樣:
當所有清單拉取完畢,開始執行下載下傳和上傳,會每3秒輸出一次已上傳成功的檔案數和失敗的檔案數,類似這樣:
工具退出方法: ctrl-c
若輸出異常可以使用【檢視遷移進展詳情】指令,檢視具體情況。
若有失敗的遷移檔案,可以使用【擷取失敗檔案資訊】指令,檢視失敗原因,處理方法見【異常處理】。
會輸出遷移工具運作的詳細情況。正常情況下,若開始進行上傳下載下傳,輸出為這樣:
遷移完後 工具會自動推出。
工具退出方法: kill 背景程序号。
如果遷移已經完成會輸出:no, task has been done
如果還在遷移會輸出:yes, still doing download and upload...并且輸出正在運作的程序資訊
運作該腳本後,遷移任務就會停止,之後想再啟動,可以重新開機遷移任務。
如果有輸出 has migrate[XX] files, will migrate[XX] files 的資訊,如下圖,說明檔案清單已經擷取完畢,可以不再拉取檔案清單重新開機。
如果沒有輸出,說明清單沒有擷取完畢,再次啟動時,需要重新運作【啟動遷移】指令。
可以擷取失敗檔案的資訊。
如果希望重新遷移已經遷移過的檔案,則需要清空 output 檔案夾中的檔案。
遷移的時候,把新拉取下來的檔案,和之前遷移成功的檔案去重,并生成形如 filelist.1470216681 的檔案,這個檔案内容是原始拉取下來的檔案清單,而這個 filelist 檔案是去重後的結果。
未安裝 php 時會報錯:
未按照 php-curl 時會報錯:
1.若中途異常,可以【停止遷移】,或者【檢視遷移進展詳情】。
2.若在【檢視遷移進度】結果中有失敗的遷移檔案,例如下圖:
此時不必緊張,等所有任務都跑完後(輸入【詢問任務是否結束】指令,顯示任務已經結束),使用【不再拉取檔案清單重新開機】指令,會把失敗的任務重新執行,已成功的不會再執行。
本文轉自 藍葉子Sheep 51CTO部落格,原文連結:http://blog.51cto.com/dellinger/1971599,如需轉載請自行聯系原作者