阿里雲oss數據遷移到騰訊雲cos 方法二(強烈推薦)


遷移工具使用方法

遷移工具支持將S3, OSS, Qiniu,文件列表等文件遷移到COS對象存儲。工具只支持在 linux/macos 下運行,系統自帶的Python版本在2.6以上。

系統依賴

工具運行平台為*nix,需要有Python2.7及以上環境,同時機器應該安裝pip, gcc與python-dev。您可以使用系統自帶的包管理器安裝相關依賴。

在centos上,使用如下命令安裝:

1

sudo yum install python-pip python-devel gcc gcc-c++ libxml2-devel

在ubuntu/debian上,使用如下命令安裝:

sudo apt-get install python-pip python-dev gcc gcc-c++ libxml2-devel

安裝方法

推薦使用pip安裝,安裝pip的方法,可以參考官網或者使用apt/yum等包管理工具安裝python-pip包。

 pip install -U cos_migrate_tool

執行完上述命令后,可以嘗試使用如下命令檢測是否安裝成功。

cos_migrate_tool -h

卸載方法

執行如下命令:

pip uninstall cos_migrate_tool

使用方法

在安裝成功后,系統會有一個可執行命令 cos_migrate_tool,之后的遷移過程都是使用該命令。執行命令的方式如下:

    cos_migrate_tool -c /path/to/your/conf

配置文件自行編寫,模版參考下章內容。在配置文件中,需要配置一個工作目錄,之后遷移過程中產生的臨時文件都在放置在該目錄,請保證目錄空間足夠大,如果並行執行多個遷移任務,推薦使用不同的目錄。

在遷移過程中,你可以查看你設定的工作目錄下面的 fail_file.txt 來查看遷移失敗的文件列表。

雲服務器、雲數據庫方案、網絡安全防護優選

配置文件

配置文件模板, common 部分配置基本配置,workspace是上述的工作目錄。source 部分配置數據源的信息,如果你想遷移oss到cos,該部分就是配置oss的屬性。destination 部分配置cos屬性。

!! 配置文件請刪除注釋文字,即 # 注釋 部分,空白模板參考 鏈接

[common]

workspace=/tmp/tmp6   # 工作目錄threads=20            # 工作線程數,如果不配置,則為10線程[source]

type=oss

accesskeyid=

accesskeysecret=

bucket=

endpoint=

 

[destination]

type=cosv4

region=shanghai

accesskeyid=

appid=

accesskeysecret=

bucket=sdktest

遷移OSS

[common]
workspace=/tmp/tmp6

[source]
type=oss

accesskeyid=         # oss accesskey id

accesskeysecret=     # oss accesskey secret

bucket=              # 要遷移的bucket名

endpoint=            # oss 的endpoint,例如oss-cn-beijing.aliyuncs.com

 

[destination]

type=cosv4

region=shanghai            # cos 的 region,如shanghai, guangzhou

accesskeyid=               # cos 的 secretid

appid=                     # cos 的 appid

accesskeysecret=           # cos 的 secretkey

bucket=sdktest             # cos 的 bucket

prefix_dir=/dir21/         # cos 的目錄,遷移的文件都會位於該目錄下,不配置該項則遷移到根目錄overwrite=true             # 覆蓋cos上已有的同名文件,如果不需要,請刪除該行

遷移qiniu

[common]

workspace=/tmp/tmp11

       

 

[source]

type=qiniu

accesskeyid=               # qiniu 的 accesskeyid

accesskeysecret=           # qiniu 的 accesskeysecret

bucket=                    # 要遷移的qiniu的bucket

domain_url=                # qiniu 的下載域名

prefix=dir1                # 要遷移的目錄,如果要遷移整個bucket,刪除此行

 

[destination]

type=cosv4

region=shanghai            # cos 的 region,如shanghai, guangzhou

accesskeyid=               # cos 的 secretid

appid=                     # cos 的 appid

accesskeysecret=           # cos 的 secretkey

bucket=sdktest             # cos 的 bucket

prefix_dir=/dir21/         # cos 的目錄,遷移的文件都會位於該目錄下,不配置該項則遷移到根目錄

overwrite=true             # 是否覆蓋上傳,如果不需要,刪除此行

遷移S3

[common]

workspace=/tmp/tmp21

 

[source]

type=s3

accesskeyid=               # s3 的 accesskey id

accesskeysecret=           # s3 的 accesskey secret

bucket=                    # s3 的要遷移的bucket名

prefix=dir1                # s3 的要遷移的目錄,如果要遷移整個bucket,刪除此行

 

[destination]

type=cosv4

region=shanghai

accesskeyid=

 

appid=

accesskeysecret=

bucket=

遷移列表文件

[common]

workspace=

 

[source]

type=url

url_list_file=/tmp/urllist.txt   # 要遷移的文件url列表文件,文件每一行為一個完整的url

timeout=3                        # http請求的超時時間

 

[destination]

type=cosv4

region=

accesskeyid=

appid=

accesskeysecret=

bucket=

遷移COSv3

[common]

workspace=

 

[source]

type=cosv3

accesskeyid=

appid=

accesskeysecret=

bucket=                     # http請求的超時時間

 

[destination]

type=cosv4

region=

accesskeyid=

appid=

accesskeysecret=

bucket=

COS v3 遷移到 COS v4

[common]

workspace=

 

[source]

type=cosv3

accesskeyid=

appid=

accesskeysecret=

bucket=           

 

[destination]

type=cosv4

region=

accesskeyid=

appid=

accesskeysecret=

bucket=

COS v4 遷移到 COS v4

[common]

workspace=

 

[source]

type=cosv4

accesskeyid=

region=

appid=

accesskeysecret=

bucket=         

prefix_dir=/foo   # cos 的目錄,遷移的文件都會位於該目錄下,不配置該項則遷移到根目錄

 

[destination]

type=cosv4

region=

accesskeyid=

appid=

accesskeysecret=

bucket=

常見錯誤與解決辦法

1.       pip 命令不存在。 使用 apt install python-pip 或者 yum install python-pip 命令安裝PIP。

2.       使用pip安裝遷移工具不成功。嘗試執行 sudo pip install cos_migrate_tool。

3.       提示找不到argparse,使用pip安裝 sudo pip install argparse

4.       對於一直遷移不成功的文件,可能是COS上有同名殘損文件,可以嘗試指定 overwrite=true 參數來覆蓋。

5.       遷移前工具會先判斷文件是否已經在COS上,提示文件不存在的錯誤的正常的

阿里雲服務器、騰訊雲數據庫方案、網絡安全防護優選

 

本技術文轉自 “藍葉子_架構” 博客http://dellinger.blog.51cto.com/12445009/1971596


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM