C:\\Users\\Administrator\\Downloads\\cos_migrate
unzip cos_migrate_tool_v5-master.zip && cd cos_migrate_tool_v5-master
COS_Migrate_tool|——conf #구성 파일이 위치한 디렉터리| |——config.ini #구성 파일 마이그레이션|——db #마이그레이션 성공 기록 저장|——dep #프로그램 메인 로직 컴파일로 생성되는 JAR 패키지|——log #툴 실행 중 생성되는 로그|——opbin #컴파일에 사용되는 스크립트|——result #마이그레이션 성공 기록을 저장하기 위한 목록으로 파일 이름을 ‘날짜.out’로 기록하고 포맷은 ‘절대 경로\\\\t파일 크기\\\\t마지막 수정 시간’입니다.|——src #툴 소스 코드|——tmp #임시 파일 저장 디렉터리|——.gitignore #git 버전 관리에서 무시된 파일 및 폴더|——pom.xml #프로젝트 구성 파일|——README #설명 문서|——start_migrate.sh #Linux에서 마이그레이션 실행 스크립트|——start_migrate.bat #Windows에서 마이그레이션 실행 스크립트
./conf/config.ini
)을 수정해야 하며, config.ini 내용은 다음과 같이 몇 부분으로 나뉘어 있습니다.type=migrateLocal
를 기입합니다.[migrateType]type=migrateLocal
# 마이그레이션 툴의 일반 설정 섹션에는 마이그레이션할 타깃 COS의 계정 정보가 포함됩니다.[common]secretId=COS_SECRETIDsecretKey=COS_SECRETKEYbucketName=examplebucket-1250000000region=ap-guangzhoustorageClass=StandardcosPath=/https=offtmpFolder=./tmpsmallFileThreshold=5242880smallFileExecutorNum=64bigFileExecutorNum=8entireFileMd5Attached=onexecuteTimeWindow=00:00,24:00outputFinishedFileFolder=./resultresume=falseskipSamePath=falserequestTryCount=5
이름 | 설명 | 기본값 |
secretId | 사용자 보안키 SecretId. COS_SECRETID 를 사용자의 실제 키 정보로 변경합니다. CAM 콘솔의 Tencent Cloud API 키 페이지에서 조회하여 획득할 수 있습니다. | - |
secretKey | 사용자 보안키 SecretKey. COS_SECRETKEY 를 사용자의 실제 키 정보로 변경합니다. CAM 콘솔의 Tencent Cloud API 키 페이지에서 조회하여 획득할 수 있습니다. | - |
bucketName | 타깃 Bucket의 이름. 형식: <BucketName-APPID> . Bucket 이름에는 반드시 APPID가 포함됩니다. 예: examplebucket-1250000000 | - |
region | - | |
storageClass | 데이터 마이그레이션 이후의 스토리지 유형. 옵션 값: Standard(표준 스토리지), Standard_IA(표준IA 스토리지), Archive(아카이브 스토리지), Maz_Standard(표준 스토리지 다중AZ), Maz_Standard_IA(표준IA 스토리지 다중AZ)이며, 자세한 내용은 스토리지 유형 개요를 참고하십시오. | Standard |
cosPath | 마이그레이션할 COS 경로. / 는 Bucket의 루트 경로에 마이그레이션하는 것을 의미하며, /folder/doc/ 는 Bucket의 /folder/doc/ 에 마이그레이션하는 것을 의미합니다. /folder/doc/ 가 존재하지 않는 경우 자동으로 경로를 생성합니다. | / |
https | HTTPS를 사용한 전송 여부: on - 활성화, off - 비활성화. 활성화할 경우 전송 속도가 비교적 느리며, 전송 보안 요건이 높은 시나리오에 적합합니다. | off |
tmpFolder | 기타 클라우드 스토리지에서 COS로 마이그레이션 시 임시 파일을 저장하는 디렉터리로 마이그레이션 완료 후에는 삭제됩니다. 필요한 포맷은 절대 경로입니다. Linux에서 세퍼레이터는 단일 슬래시입니다(예: /a/b/c ). Windows에서 세퍼레이터는 이중 백슬래시입니다(예: E:\\\\a\\\\b\\\\c ). 기본적으로 툴 경로 아래의 tmp 디렉터리입니다. | ./tmp |
smallFileThreshold | 저용량 파일의 임계값 바이트, 이 임계값 이상이면 멀티파트 업로드를 사용하며, 그렇지 않으면 간편 업로드를 사용합니다. 기본값: 5MB(5242880 Byte) | 5242880 |
smallFileExecutorNum | 저용량 파일(smallFileThreshold보다 작은 파일)의 동시 접속 수이며, 간편 업로드를 사용합니다. 공인 네트워크를 통해 COS에 접속하고 대역폭이 비교적 작은 경우 해당 동시 접속 수를 작게 설정하십시오. | 64 |
bigFileExecutorNum | 대용량 파일(smallFileThreshold 이상의 파일)의 동시 접속 수이며, 멀티파트 업로드를 사용합니다. 공인 네트워크를 통해 COS에 접속하고 대역폭이 비교적 작은 경우 해당 동시 접속 수를 작게 설정하십시오. | 8 |
entireFileMd5Attached | 마이그레이션 툴에서 전체 텍스트의 MD5를 계산한 후 파일의 사용자 정의 헤더 x-cos-meta-md5에 저장해 이후 검증에 사용합니다. COS에 멀티파트 업로드하는 대용량 파일의 etag는 전체 텍스트의 MD5가 아니기 때문입니다. | on |
executeTimeWindow | 실행 시간 윈도우로 시간 입도는 분이고, 해당 매개변수는 마이그레이션 툴이 매일 실행되는 시간대를 정의합니다. 예:
매개변수 03:30, 21:00은 새벽 03:30에서 밤 21:00 사이에 작업을 실행하고 나머지 시간에는 휴면 상태에 있음을 나타내며, 휴면 상태에서 마이그레이션은 일시정지되고 마이그레이션 진행률이 유지되며 다음 시간 윈도우에서 자동으로 계속하여 실행합니다. 뒤의 시점은 반드시 앞의 시점보다 커야 한다는 점에 유의하시기 바랍니다. | 00:00, 24:00 |
outputFinishedFileFolder | 해당 디렉터리는 마이그레이션 완료 결과를 저장합니다. 결과 파일은 날짜에 따라 파일 이름을 생성합니다. 예를 들어 ./result/2021-05-27.out 에서 ./result는 생성된 디렉터리입니다. 파일 내용 각 행의 포맷은 절대 경로\\t 파일 크기\\t 최종 수정 시간입니다. 설정을 비워두면 결과를 출력하지 않습니다. | ./result |
resume | 마지막 실행 결과에 이어서 원본 파일 리스트를 계속 아래로 순회할지 여부입니다. 기본적으로 처음부터 시작합니다. | false |
skipSamePath | COS에 동일한 이름의 파일이 존재하는 경우 건너뛰기 여부입니다. 기본적으로 건너뛰지 않고 기존 파일을 덮어씁니다. | false |
requestTryCount | 각 파일 업로드의 총 시도 횟수. | 5 |
# 로컬에서 COS로 마이그레이션 시 설정 섹션[migrateLocal]localPath=E:\\\\code\\\\java\\\\workspace\\\\cos_migrate_tool\\\\test_dataexcludes=ignoreModifiedTimeLessThanSeconds=
설정 항목 | 설명 |
localPath | 로컬 디렉터리의 절대 경로: Linux에서 구분 기호로 슬래시(/)를 사용합니다(예: /a/b/c ). Windows는 두 개의 백래시(\\)를 구분 기호로 사용합니다(예: E:\\\\a\\\\b\\\\c ). 참고: 이 매개변수에 대한 파일 경로가 아닌 디렉터리 경로만 입력할 수 있습니다. 그렇지 않으면 대상 객체 이름을 구문 분석하는 동안 오류가 발생합니다. cosPath=/의 경우 요청이 버킷 생성 요청으로 잘못 구문 분석됩니다. |
excludes | 제외할 디렉터리 또는 파일의 절대 경로, localPath 아래에 있는 특정 디렉터리 또는 파일은 마이그레이션하지 않는다는 의미이며, 여러 절대 경로 사이는 세미콜론으로 구분합니다. 작성하지 않으면 localPath 아래 전체를 마이그레이션합니다. |
ignoreModifiedTimeLessThanSeconds | 업데이트 시간과 현재 시간의 차이가 일정 시간 이하인 파일 제외, 단위: 초, 기본적으로 설정하지 않으며, lastmodified 시간에 따라 필터링하지 않음을 의미합니다. 클라이언트에서 파일 업데이트와 동시에 마이그레이션 툴을 실행할 때 사용하며, 현재 업데이트 중인 파일은 COS에 마이그레이션하지 않습니다. 예를 들어, 300으로 설정하면 업데이트한 지 5분 이상 지난 파일만 업로드합니다. |
sh start_migrate.sh
sh start_migrate.sh -Dcommon.cosPath=/savepoint0403_10/
문제 해결에 도움이 되었나요?