tencent cloud

Cloud Object Storage

동향 및 공지
릴리스 노트
제품 공지
제품 소개
제품 개요
기능 개요
적용 시나리오
제품 장점
기본 개념
리전 및 액세스 도메인
규격 및 제한
제품 요금
과금 개요
과금 방식
과금 항목
프리 티어
과금 예시
청구서 보기 및 다운로드
연체 안내
FAQ
빠른 시작
콘솔 시작하기
COSBrowser 시작하기
사용자 가이드
요청 생성
버킷
객체
데이터 관리
일괄 프로세스
글로벌 가속
모니터링 및 알람
운영 센터
데이터 처리
스마트 툴 박스 사용 가이드
데이터 워크플로
애플리케이션 통합
툴 가이드
툴 개요
환경 설치 및 설정
COSBrowser 툴
COSCLI 툴
COSCMD 툴
COS Migration 툴
FTP Server 툴
Hadoop 툴
COSDistCp 툴
HDFS TO COS 툴
온라인 도구 (Onrain Dogu)
자가 진단 도구
실습 튜토리얼
개요
액세스 제어 및 권한 관리
성능 최적화
AWS S3 SDK를 사용하여 COS에 액세스하기
데이터 재해 복구 백업
도메인 관리 사례
이미지 처리 사례
COS 오디오/비디오 플레이어 사례
데이터 다이렉트 업로드
데이터 보안
데이터 검증
빅 데이터 사례
COS 비용 최적화 솔루션
3rd party 애플리케이션에서 COS 사용
마이그레이션 가이드
로컬 데이터 COS로 마이그레이션
타사 클라우드 스토리지 데이터를 COS로 마이그레이션
URL이 소스 주소인 데이터를 COS로 마이그레이션
COS 간 데이터 마이그레이션
Hadoop 파일 시스템과 COS 간 데이터 마이그레이션
데이터 레이크 스토리지
클라우드 네이티브 데이터 레이크
메타데이터 가속
데이터 레이크 가속기 GooseFS
데이터 처리
데이터 처리 개요
이미지 처리
미디어 처리
콘텐츠 조정
파일 처리
문서 미리보기
장애 처리
RequestId 가져오기
공용 네트워크로 COS에 파일 업로드 시 속도가 느린 문제
COS 액세스 시 403 에러 코드 반환
리소스 액세스 오류
POST Object 자주 발생하는 오류
보안 및 컴플라이언스
데이터 재해 복구
데이터 보안
액세스 관리
자주 묻는 질문
인기 질문
일반 문제
과금
도메인 규정 준수 문제
버킷 설정 문제
도메인 및 CDN 문제
파일 작업 문제
로그 모니터링 문제
권한 관리
데이터 처리 문제
데이터 보안 문제
사전 서명 URL 관련 문제
SDK FAQ
툴 관련 문제
API 관련 문제
Agreements
Service Level Agreement
개인 정보 보호 정책
데이터 처리 및 보안 계약
연락처
용어집
문서Cloud Object Storage툴 가이드COSCLI 툴자주 쓰는 명령어파일 동기화 업/다운로드 또는 복사 - sync

파일 동기화 업/다운로드 또는 복사 - sync

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2026-03-30 16:10:19
sync 명령어는 파일을 동기화 업로드, 다운로드 또는 복사하는 데 사용됩니다. cp 명령어와 다른 점은 sync 명령어는 먼저 같은 이름의 파일의 crc64를 비교하고, crc64 값이 같으면 전송하지 않는다는 것입니다.
주의:
업로드 파일 명령어를 사용하려면, 권한 정책을 설정할 때 action을 cos:HeadBucket, cos:GetBucket, cos:HeadObject, cos:InitiateMultipartUpload, cos:UploadPart, cos:CompleteMultipartUpload, cos:ListMultipartUploads, cos:ListParts으로 설정해야 합니다.
다운로드 파일 명령어를 사용하려면, 권한 정책을 설정할 때 action을 cos:HeadBucket, cos:GetBucket, cos:HeadObject, cos:GetObject으로 설정해야 합니다.
파일 복사 명령어를 사용하려면, 권한 정책을 설정할 때 대상 객체 action을 cos:GetBucket, cos:HeadObject, cos:InitiateMultipartUpload, cos:PutObject, cos:CompleteMultipartUpload으로 설정해야 합니다. 소스 객체 action은 cos:HeadBucket, cos:GetBucket, cos:HeadObject, cos:GetObject으로 설정해야 합니다.
자세한 권한 부여는 CAM을 지원하는 비즈니스 인터페이스를 참조하십시오.

명령어 형식

./coscli sync <source_path> <destination_path> [flag]
sync 명령어는 다음 매개변수를 포함합니다:
매개변수 형식:
매개변수 용도
예제
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
sync 명령어는 다음의 선택적 flag를 포함합니다:
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
업로드 파일의 스토리지 유형 지정 (기본값 STANDARD). 더 많은 스토리지 유형은 스토리지 유형 개요를 참조하십시오.
없음
--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-num1-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이며 이어받기 기능을 활성화합니다.
설명:
명령을 사용할 때 도구가 로컬 경로에 대한 액세스 권한이 있는지 확인하십시오.
sync 명령어는 대용량 파일을 업로드하거나 다운로드할 때 자동으로 병렬 업로드/다운로드를 활성화합니다.
파일 크기가 --part-size보다 클 때, COSCLI는 먼저 파일을 --part-size 크기로 분할한 후 --thread-num개의 스레드를 사용하여 동시에 업로드/다운로드 작업을 실행합니다.
각 스레드는 하나의 연결을 유지하며, 각 연결에 대해 --rate-limiting 매개변수를 사용하여 단일 연결 속도 제한을 설정할 수 있습니다. 동시 업로드/다운로드가 활성화된 경우 총 속도는 --thread-num * --rate-limiting입니다.
파일을 분할 형태로 업로드/다운로드할 때는 기본적으로 중단 지점에서 이어받기 기능이 활성화됩니다.
--include--exclude는 표준 정규 표현식 구문을 지원하며, 특정 조건에 맞는 파일을 필터링하는 데 사용할 수 있습니다.
기본적으로 소프트 링크는 업로드되지 않습니다. 소프트 링크를 업로드하려면 --disable-all-symlink=false --enable-symlink-dir=true을 설정하면 됩니다.참고: 소프트 링크에 순환 참조가 있는 경우 도구가 무한 루프 상태에 빠질 수 있습니다.
zsh를 사용할 때는 패턴 문자열 양쪽에 쌍따옴표를 추가해야 할 수 있습니다.
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

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백