릴리스 노트
제품 공지
cos:HeadBucket, cos:GetBucket, cos:HeadObject, cos:InitiateMultipartUpload, cos:UploadPart, cos:CompleteMultipartUpload, cos:ListMultipartUploads, cos:ListParts으로 설정해야 합니다.cos:HeadBucket, cos:GetBucket, cos:HeadObject, cos:GetObject으로 설정해야 합니다.cos:GetBucket, cos:HeadObject, cos:InitiateMultipartUpload, cos:PutObject, cos:CompleteMultipartUpload으로 설정해야 합니다. 소스 객체 action은 cos:HeadBucket, cos:GetBucket, cos:HeadObject, cos:GetObject으로 설정해야 합니다../coscli sync <source_path> <destination_path> [flag]
매개변수 형식: | 매개변수 용도 | 예제 |
source_path | 소스 파일 경로. 로컬 경로 또는 COS 파일 경로일 수 있습니다. COS 경로는 구성 매개변수의 버킷 별칭 또는 버킷 이름을 사용하여 액세스할 수 있습니다. 버킷 이름을 사용하여 액세스하는 경우, 추가로 endpoint 플래그를 지정해야 합니다. | 로컬 경로: ~/example.txt 버킷 별칭을 사용하여 COS 파일 경로 지정: cos://bucketalias/example.txt 버킷 이름을 사용하여 COS 파일 경로 지정: cos://examplebucket-1250000000/example.txt |
destination_path | 대상 파일 경로. 로컬 경로 또는 COS 파일 경로일 수 있습니다. COS 경로는 구성 매개변수의 버킷 별칭 또는 버킷 이름을 사용하여 액세스할 수 있습니다. 버킷 이름을 사용하여 액세스하는 경우, 추가로 endpoint 플래그를 지정해야 합니다. | 로컬 경로: ~/example.txt 버킷 별칭을 사용하여 COS 파일 경로 지정: cos://bucketalias/example.txt 버킷 이름을 사용하여 COS 파일 경로 지정: cos://examplebucket-1250000000/example.txt |
flag 약칭 | flag 전체 이름 | flag 용도 |
없음 | --include | 특정 패턴을 포함하는 파일 (v1.0.4 이전 버전은 업로드 시 전달된 경로 아래의 로컬 파일 경로만 필터링하고, v1.0.4 및 이후 버전은 전달된 전체 경로를 필터링합니다) 예를 들어: ./test 아래의 모든 파일을 COS에 업로드해야 하는 경우, ./test에는 aaa 폴더가 포함되어 있으며 aaa 폴더에는 1.txt 파일이 포함되어 있습니다. 1.0.4 이전 버전은 aaa/1.txt를 매칭합니다. 1.0.4 및 이후 버전은 ./test/aaa/1.txt를 매칭합니다. |
없음 | --exclude | 특정 패턴을 제외하는 파일 (v1.0.4 이전 버전은 업로드 시 전달된 경로 아래의 로컬 파일 경로만 필터링하고, v1.0.4 및 이후 버전은 전달된 전체 경로를 필터링합니다) 예를 들어: ./test 아래의 모든 파일을 COS에 업로드해야 하는 경우, ./test에는 aaa 폴더가 포함되어 있으며 aaa 폴더에는 1.txt 파일이 포함되어 있습니다. 1.0.4 이전 버전은 aaa/1.txt를 매칭합니다. 1.0.4 및 이후 버전은 ./test/aaa/1.txt를 매칭합니다. |
-r | --recursive | 재귀적으로 폴더 내 모든 파일을 순회할지 여부. |
없음 | --storage-class | |
없음 | --part-size | 파일의 청크 크기로 단위는 MB이며, 기본값은 32이고 최대 5120을 지원합니다. 파일 크기에 따라 청크 크기를 자동 조정하려면 0으로 설정하십시오. |
없음 | --thread-num | 파일 청크 동시성 스레드 수 (기본 동시성 5). |
없음 | --rate-limiting | 단일 링크 속도 제한 (0.1 - 100MB/s). |
없음 | --snapshot-path | 업로드 또는 다운로드 파일 시 스냅샷 정보를 저장할 디렉터리를 지정합니다. 다음 업로드 또는 다운로드 시 coscli는 지정된 디렉터리의 스냅샷 정보를 읽어 증분 업로드 또는 다운로드를 수행합니다. 이 옵션은 디렉터리 파일 동기화를 가속화하는 데 사용됩니다. |
없음 | --meta | 업로드 파일의 메타정보. 일부 HTTP 표준 속성(HTTP Header) 및 x-cos-meta-로 시작하는 사용자 정의 메타데이터(User Meta) 포함. 파일 메타정보 형식은 header:value#header:value, 예시는 Expires:2022-10-12T00:00:00.000Z#Cache-Control:no-cache#Content-Encoding:gzip#x-cos-meta-x:x |
없음 | --routines | 파일 간 동시 업로드 또는 다운로드 스레드 수를 지정하며, 기본값은 3입니다. |
없음 | --fail-output | 이 옵션은 업로드 또는 다운로드 실패 시 파일 오류 출력을 활성화할지 여부를 결정합니다 (기본값 true, 활성화). 활성화된 경우 파일 전송 실패는 지정된 디렉터리에 기록됩니다 (지정되지 않은 경우 기본값 ./coscli_output). 비활성화된 경우 오류 파일 수만 콘솔에 출력됩니다. |
없음 | --fail-output-path | 이 옵션은 업로드 또는 다운로드 실패 파일의 오류 출력 폴더를 지정하는 데 사용됩니다. 사용자 정의 폴더 경로를 제공하여 오류 출력 폴더의 위치와 이름을 제어할 수 있습니다. 이 옵션을 설정하지 않으면 기본 오류 로그 폴더 ./coscli_output가 사용됩니다. |
없음 | --retry-num | 속도 제한 재시도 횟수 (기본값 0, 재시도 안 함). 1-10회 선택 가능. 다수의 시스템이 동일한 COS 디렉터리에서 동시에 다운로드 작업을 수행할 때, 이 매개변수를 지정하여 재시도함으로써 속도 제한 오류를 회피할 수 있습니다. |
없음 | --err-retry-num | 오류 재시도 횟수 (기본값 5). 1-10회 지정 가능, 또는 0으로 설정 시 재시도하지 않음을 의미합니다. |
없음 | --err-retry-interval | 재시도 간격 ( --err-retry-num을 1-10으로 지정한 경우에만 사용 가능). 1-10초의 재시도 간격을 지정하며, 지정하지 않거나 0으로 설정할 경우 매번 재시도 간격은 1-10초 내에서 무작위로 결정됩니다. |
없음 | --only-current-dir | 현재 디렉터리의 파일만 업로드하고 하위 디렉터리 및 내용을 무시할지 여부 (기본값 false, 무시하지 않음). |
없음 | --disable-all-symlink | 소프트 링크 하위 파일 및 소프트 링크 하위 디렉터리를 업로드 시 모두 무시할지 여부 (기본값 true, 업로드하지 않음). 현재 Linux 및 macOS 시스템에서만 사용 가능합니다. |
없음 | --enable-symlink-dir | 소프트 링크의 하위 디렉터리를 업로드할지 여부 (기본값 false, 업로드하지 않음). 현재 Linux 및 macOS 시스템에서만 사용 가능합니다. |
없음 | --disable-crc64 | CRC64 데이터 검증을 비활성화할지 여부 (기본값 false, 검증 활성화). |
없음 | --delete | 대상 경로에 있는 다른 모든 파일을 삭제하고 이번 동기화 파일만 유지할지 여부 (기본값 false, 삭제하지 않음). 예기치 않은 데이터 삭제를 방지하기 위해 --delete 옵션 사용 전 버전 관리를 활성화하는 것이 좋습니다. |
없음 | --backup-dir | 삭제된 파일 동기화 백업, 대상 측에서 삭제되었지만 소스 측에 존재하지 않는 파일을 저장하는 데 사용됩니다 (다운로드 시에만 적용되며 --delete=true일 때 필수 입력). 업로드 및 버킷 복사 시 예기치 않은 데이터 삭제를 복구하려면 버전 관리를 사용하십시오. |
없음 | --force | 강제 작업, 확인 메시지 표시 안 함. (기본값 false) |
없음 | --disable-checksum | 기본값 true, 분할된 조각의 crc64만 검증합니다. false로 설정할 경우 전체 파일의 crc64를 검증합니다. (coscli V1.0.6 및 이전 버전은 기본값 false) |
없음 | --process-log | 프로세스 로그 활성화 여부, 기본값 true, 활성화 |
없음 | --process-log-path | 이 옵션은 프로세스 로그를 저장할 전용 출력 폴더를 지정하는 데 사용됩니다. 로그에는 파일 업로드 또는 다운로드와 관련된 정보(오류 로그, 정상 실행 로그, 재시도 등)가 기록됩니다. 사용자 정의 폴더 경로를 제공하여 로그 출력 폴더의 위치와 이름을 제어할 수 있습니다. 이 옵션을 설정하지 않으면 기본 로그 폴더(coscli_output)가 사용됩니다. |
없음 | --update | 수정 시간이 더 최신인 파일만 전송 |
없음 | --ignore-existing | 존재하지 않는 파일만 전송 |
없음 | --skip-dir | 기본값 false, true로 설정할 경우 폴더 전송을 건너뜁니다. |
없음 | --acl | 파일의 ACL 설정, 예: private, public-read |
없음 | --grant-read | 객체 읽기 권한을 권한 부여 대상에게 부여합니다. 형식은 id="[OwnerUin]"이며, 예를 들어 id="100000000001"입니다. 반각 쉼표(,)를 사용하여 여러 권한 부여 대상을 구분할 수 있습니다. 예: id="100000000001",id="100000000002". |
없음 | --grant-read-acp | 객체의 액세스 제어 목록(ACL) 읽기 권한을 권한 부여 대상에게 부여합니다. 형식은 id="[OwnerUin]"이며, 예를 들어 id="100000000001"입니다. 반각 쉼표(,)를 사용하여 여러 권한 부여 대상을 구분할 수 있습니다. 예: id="100000000001",id="100000000002". |
없음 | --grant-write-acp | 객체의 액세스 제어 목록(ACL) 쓰기 권한을 권한 부여 대상에게 부여합니다. 형식은 id="[OwnerUin]"이며, 예를 들어 id="100000000001"입니다. 반각 쉼표(,)를 사용하여 여러 권한 부여 대상을 구분할 수 있습니다. 예: id="100000000001",id="100000000002". |
없음 | --grant-full-control | 객체에 대한 모든 권한을 권한 부여 대상에게 부여합니다. 형식은 id="[OwnerUin]"이며, 예를 들어 id="100000000001"입니다. 반각 쉼표(,)를 사용하여 여러 권한 부여 대상을 구분할 수 있습니다. 예: id="100000000001",id="100000000002". |
없음 | --tags | 객체의 태그 집합으로, 태그를 최대 10개까지 설정할 수 있음(예: --tags="Key1=Value1&Key2=Value2") |
없음 | --forbid-overwrite | 버전 관리가 활성화되지 않은 버킷의 경우 파일 업로드 시 동일한 이름의 객체 덮어쓰기를 금지할지 여부를 지정하는 데 사용됩니다: false로 지정할 경우 기본적으로 동일한 이름의 Object를 덮어씁니다. true로 지정할 경우 동일한 이름의 Object 덮어쓰기를 금지함을 의미합니다. 버킷이 활성화 또는 일시 정지된 버전 관리 상태인 경우 x-cos-forbid-overwrite 요청 헤더 설정이 무효화되며, 즉 동일한 이름의 객체 덮어쓰기가 허용됩니다. |
없음 | --encryption-type | 서버 측 암호화 방식(SSE-COS/SSE-C) |
없음 | --server-side-encryption | 서버 측 암호화 알고리즘으로 AES256, cos/kms를 지원합니다. SSE-COS 또는 SSE-KMS를 사용할 때 이 필드는 필수 항목입니다. |
없음 | --sse-customer-algo | 서버 측 암호화 알고리즘으로 AES256을 지원합니다. SSE-C를 사용할 때 이 필드는 필수 항목입니다. |
없음 | --sse-customer-key | 서버 측 암호화 키의 Base64 인코딩 예: MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY=. SSE-C를 사용할 때 이 필드는 필수 항목입니다. |
없음 | --sse-customer-key-md5 | 서버 측 암호화 키의 MD5 해시 값으로 Base64 인코딩을 사용합니다. 예: U5L61r7jcwdNvT7frmUG8g==. SSE-C를 사용할 때 이 필드는 필수 항목입니다. |
없음 | --check-point | 중단 지점에서 이어받기 기능을 활성화할지 여부로, 기본값은 true이며 이어받기 기능을 활성화합니다. |
--part-size보다 클 때, COSCLI는 먼저 파일을 --part-size 크기로 분할한 후 --thread-num개의 스레드를 사용하여 동시에 업로드/다운로드 작업을 실행합니다.--rate-limiting 매개변수를 사용하여 단일 연결 속도 제한을 설정할 수 있습니다. 동시 업로드/다운로드가 활성화된 경우 총 속도는 --thread-num * --rate-limiting입니다.--include 및 --exclude는 표준 정규 표현식 구문을 지원하며, 특정 조건에 맞는 파일을 필터링하는 데 사용할 수 있습니다.--disable-all-symlink=false --enable-symlink-dir=true을 설정하면 됩니다.참고: 소프트 링크에 순환 참조가 있는 경우 도구가 무한 루프 상태에 빠질 수 있습니다.snapshot-path를 마이그레이션 대상 디렉터리나 해당 하위 디렉터리로 설정하지 마십시오../coscli sync ~/test/ cos://bucket1/example/ -r --include ".*\\.txt$" --snapshot-path=/path/snapshot-path --meta=x-cos-meta-a:a#ContentType:text#Expires:2022-10-12T00:00:00.000Z
sync 명령어를 사용할 때 PUT 요청 비용이 발생하는 것 외에도, 클라우드 파일에 대한 HEAD 요청이 발생하는 다음 두 가지 경우가 있어 추가 비용이 발생할 수 있습니다:--snapshot-path)를 추가하지 않으면 HEAD 요청 비용이 발생할 수 있습니다.--snapshot-path)를 추가하고 스냅샷 디렉터리를 처음 생성하는 경우 HEAD 요청 비용이 발생합니다. 처음 생성된 스냅샷 디렉터리가 아닌 경우 추가 요청 비용이 발생하지 않습니다../coscli sync ~/example.txt cos://bucket1/example.txt
./coscli sync cos://bucket1/example.txt ~/example.txt
./coscli sync cos://bucket1/example.txt cos://bucket1/example_copy.txt
./coscli sync cos://bucket1/example.txt cos://bucket2/example_copy.txt
피드백