File Rsync Tool

최신 업데이트:2024-06-19 10:21:12

파일 동기화 도구는 CDNetworks 객체 저장소 API를 활용

하여 로컬 데이터를 CDNetworks 객체 저장소에 동기화하면서 원래의 디렉터리 구조를 유지합니다. 이 도구는 기존 파일을 마이그레이션하는 데 이상적입니다. 증분 파일 동기화를 위해 API 업로드 인터페이스를 사용하십시오.

다운로드 링크

시작하기 전 준비 사항

  1. Java(JDK 1.6 이상)가 설치되어 있는지 확인하십시오.
  2. 구성 파일과 동기화 도구를 동일한 디렉터리에 배치하십시오.

사용 방법

  1. wcs-rsync-hash 도구가 있는 디렉터리로 이동하십시오(예: Windows에서는 F:\wcs-rsync 또는 Linux에서는 /home/tool/wcs-rsync).
  2. 필요에 따라 conf.json 파일을 편집하십시오.
  3. 서비스를 시작하려면:
    • Windows의 경우: Shift 키를 누른 상태에서 폴더 창에서 마우스 오른쪽 버튼을 클릭하고 "여기에서 명령 창 열기"를 선택하십시오.
    • 명령을 실행하십시오: java -jar wcs-rsync-hash-xxx.jar conf.json.
    • 파일 동기화에 실패한 경우, 명령을 다시 실행하여 재동기화를 시도하십시오.
  4. 실패한 업로드 목록을 보려면 다음 명령을 실행하십시오: java -jar wcs-rsync-hash-xxx.jar -listfailed conf.json.
    • 결과는 도구 디렉터리에 있는 로그 파일에 저장됩니다.
  5. 모든 파일을 강제로 다시 업로드하려면 다음 명령을 실행하십시오: java -jar wcs-rsync-hash-xxx.jar -igsync conf.json.
  6. 동기화 과정에서 오류가 발생한 경우, 도구 디렉터리에 있는 wcs-rsync-hash.log 파일에서 ERROR 레벨 로그를 참조하여 문제를 진단하십시오.

구성 파일의 조정 가능한 설정

다음은 conf.json 파일의 일부 조정 가능한 설정입니다. 특정 요구 사항에 따라 이러한 설정을 수정할 수 있습니다.

섹션 항목 요구 사항 설명
기본 인증 accessKey 필수 클라우드 저장소 계정에 액세스하기 위한 고유 식별자입니다. 콘솔의 “보안 설정 - API 정보 관리 - AccessKey 관리” 섹션에서 얻을 수 있습니다.
secretKey 필수 액세스 키와 쌍을 이루는 개인 키로, 신원 확인을 위해 사용됩니다. 또한 콘솔의 “보안 설정 - API 정보 관리 - AccessKey 관리” 섹션에서 얻을 수 있습니다.
도메인 설정 uploadDomain 필수 파일 업로드에 사용되는 특정 도메인입니다. 이는 “Bucket - 개요 - 업로드 도메인”에서 찾을 수 있습니다.
mgrDomain 필수 도구가 파일 체크섬 유효성 검사 등의 백엔드 작업에 사용하는 도메인입니다. 이는 “Bucket - 개요 - 관리 도메인”에서 찾을 수 있습니다.
동기화 모드 syncMode 필수 동기화 전략을 결정합니다:
- 0: 단일 버킷, 다중 디렉터리 모드입니다. BucketSync Dir을 지정해야 하며, Key Prefix는 선택 사항입니다.
- 1: 다중 버킷, 다중 디렉터리 모드입니다. 이 경우 Bucket And Dir이 필수입니다.
공간 및 경로 bucket 선택 사항 파일이 저장될 버킷을 지정합니다. Sync Mode가 0으로 설정된 경우 필수입니다.
syncDir 선택 사항 예를 들어 /data와 같이 업로드할 파일의 로컬 경로를 지정할 수 있습니다. 여러 경로를 구성할 수 있으며 "|"로 구분됩니다. 예를 들어, D:/pic-2|D:/rsync3.
명령 줄 동기화 도구를 사용하는 경우, syncMode0으로 설정된 경우 이 필드가 필요합니다.
참고: Linux 및 Windows 시스템 모두에서 로컬 경로를 구성할 때 /를 경로 구분 기호로 사용하십시오. Windows 시스템의 경로는 드라이브 문자를 포함해야 합니다(예: C:/data).
keyPrefix 선택 사항 객체 저장소에 업로드된 파일에 추가되는 지정된 접두사입니다. 여러 구성을 허용하며, syncDir에 정의된 경로와 일대일로 일치합니다. 기본값은 빈 값입니다. 예를 들어:
1. keyPrefixdata/로 구성되고 업로드된 파일이 1.apk인 경우, 이 파일은 객체 저장소에 data/1.apk로 저장됩니다. 이는 객체 저장소에 data라는 새 폴더가 생성되고 1.apk가 이 폴더 안에 저장된다는 것을 의미합니다.
2. keyPrefixdata로 설정되고 업로드되는 파일이 1.apk인 경우, 이 파일은 객체 저장소에 data1.apk로 저장됩니다.
3. syncDirD:/rsync1|D:/rsync2|D:/rsync3로 구성되고 keyPrefixtest1/|test2/로 설정된 경우, rsync1의 파일(및 디렉터리)은 객체 저장소의 test1 디렉터리에 저장되며, rsync2의 파일(및 디렉터리)은 test2 디렉터리에 저장되고, rsync3의 파일(및 디렉터리)은 루트 디렉터리에 저장됩니다. keyPrefix 구성이 syncDir 경로보다 많은 경우, 추가 keyPrefix 설정은 적용되지 않으며 처음 몇 개의 디렉터리만 고려됩니다.
대상 공간 및 로컬 경로 bucketAndDir 선택 사항 파일이 업로드될 대상 버킷과 로컬 경로를 지정합니다. syncMode가 1로 구성된 경우 이 매개변수는 필수입니다. 예:
bucket1|D:/dir1,D:/dir2|prefix1,prefix2/;bucket2|D:/dir3,D:/dir4
참고:
1. 각 버킷은 여러 로컬 경로를 구성할 수 있습니다. 로컬 경로는 디렉터리나 파일을 대상으로 할 수 있으며, 파일 이름에는 접미사가 포함되어야 합니다.
2. 로컬 경로와 접두사는 일대일로 일치합니다. 접두사의 적용 규칙은 keyPrefix 매개변수와 동일합니다.
3. 버킷 이름, 로컬 경로 및 접두사는 |로 구분됩니다. 여러 로컬 경로나 여러 접두사는 쉼표 ,로 구분됩니다.
4. 여러 버킷, 로컬 경로 및 접두사의 구성을 조합할 수 있으며, 세미콜론 ;으로 구분됩니다.
성능 관련 설정 threadNum 선택 사항 동시에 업로드되는 파일 수를 설정합니다. 범위는 1-100, 기본값은 1입니다.
sliceThreshold 선택 사항 이 값을 초과하는 파일에 대해 분할 업로드를 활성화합니다. 단위는 MB이며, 범위는 1-100MB, 기본값은 4MB입니다.
sliceThread 선택 사항 분할 업로드의 동시 실행 스레드 수를 설정합니다. 범위는 1-100, 기본값은 5입니다.
sliceBlockSize 선택 사항 분할 업로드 동안의 개별 블록 크기를 설정합니다. 범위는 4M-1024M이며, 4의 배수여야 합니다. 기본값은 4M입니다.
sliceChunkSize 선택 사항 각 청크의 크기를 설정합니다. 단위는 KB이며, 범위는 1024-1048576KB입니다.
동기화 동작 deletable 선택 사항 로컬 파일이 삭제될 때 클라우드 저장소 파일의 동작을 결정합니다. 0은 유지, 1은 동기화 삭제, 기본값은 0입니다.
maxRate 선택 사항 업로드 속도 제한을 설정합니다. 단위는 KB/s이며, 0은 제한 없음입니다.
taskBeginTime 선택 사항 예약된 작업 시작 시간을 설정합니다. 형식은 hh:mm:ss입니다.
taskEndTime 선택 사항 예약된 작업 종료 시간을 설정합니다. 형식은 hh:mm:ss입니다.
데이터 검증 isCompareHash 선택 사항 파일 해시 비교를 활성화 또는 비활성화합니다. 기본값은 1(활성화)입니다.
countHashThreadNumHash 선택 사항 해시 값 계산의 동시 실행 수준을 설정합니다. 범위는 1-100, 기본값은 1입니다.
compareHashThreadNumHash 선택 사항 해시 값 비교의 동시 실행 수준을 설정합니다. 범위는 1-100, 기본값은 1입니다.
compareHashFileNumHash 선택 사항 클라우드 저장소에서 각 배치의 해시 값을 비교하는 파일 수를 설정합니다. 범위는 1-2000, 기본값은 100입니다.
필터링 규칙 minFileSize 선택 사항 이 값보다 작은 파일은 업로드에 참여하지 않습니다. 단위는 바이트이며, 기본값은 0(제한 없음)입니다.
overwrite 선택 사항 클라우드의 기존 파일을 덮어쓸지를 결정합니다. 1은 덮어쓰기, 0은 덮어쓰지 않음, 기본값은 1입니다.
isLastModifyTime 선택 사항 파일 수정 시간을 클라우드 저장소로 동기화합니다. 기본값은 0(업로드 시간 사용), 1(로컬 수정 시간 사용)입니다.
특수 기능 scanOnly 선택 사항 업로드 없이 스캔에 사용됩니다. 0은 정상 업로드, 1은 스캔만, 기본값은 0입니다.
uploadErrorRetry 선택 사항 업로드 실패 후 자동 재시도 횟수를 설정합니다. 범위는 0-5, 기본값은 0(재시도 없음)입니다.
isSkip406 선택 사항 클라우드에 이미 존재하는 파일을 건너뛸지를 결정합니다. 1은 건너뛰기, 0은 건너뛰지 않음, 기본값은 1입니다.
로그 기록 logLevel 선택 사항 로그 레벨을 지정합니다. debug, info, error 중에서 선택하십시오.
logPrefix 선택 사항 로그 파일의 위치와 접두사를 정의합니다. 지정되지 않은 경우, 로그는 콘솔에 직접 출력됩니다.
이 문서의 내용이 도움이 되었습니까?
아니오
정상적으로 제출되었습니다.피드백을 주셔서 감사합니다.앞으로도 개선을 위해 노력하겠습니다.