s3 sync 명령을 사용하여 S3 버킷 간 동기화

2505 단어 aws-cliS3AWS
AWS CLI는 S3 파일 명령을 제공합니다. 고맙습니다!
s3 sync 명령을 사용하여 S3 버킷을 동기화하는 명령을 소개합니다.

하고 싶은 일


  • 테스트 버킷의 객체를 모든 프로덕션 버킷에 동기화하고 싶습니다.
  • 테스트 버킷에 존재하지 않고 프로덕션 버킷에 존재하는 객체를 삭제하고 싶습니다.



    AWS CLI란 무엇입니까?



    AWS CLI = AWS Command Line Interface
    명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구입니다.

    좀 더 자세히 알고 싶은 분은 AWS CLI BlackBelt을 추천합니다.

    사용 가능한 OS


  • Windows
  • Mac
  • Linux
  • Amazon Linux ※

  • ※ EC2 인스턴스 생성 시 Amazon Linux AMI를 선택하면,
    미리 사전 설치되어 있습니다.

    CLI는 여기에서 설치할 수 있습니다.

    AWS CLI를 사용하면 무엇이 기쁜지



    AWS 콘솔에서 화면을 깜박이는 작업을 명령 한 번으로 자동화할 수 있으면 편하네요. 그런 일이야!

    sync 명령


    aws s3 sync s3://[同期元のバケット名] s3://[同期先のバケット名]
    

    ※ 지정하는 것은 버킷명입니다.
    나는 처음 실수로 ARN(리소스명)을 지정해 버려, 조금 시간을 로스했습니다. .

    ▼ 이번에 사용한 명령
    aws s3 sync s3://[同期元のバケット名] s3://[同期先のバケット名] --exact-timestamps --delete
    

    이번에 사용한 옵션에 대한 자세한 내용은 다음과 같습니다.


    옵션
    상세


    --exact-timestamps
    S3에서 로컬로 동기화할 때 동일한 크기의 항목은 타임스탬프가 정확하게 일치하는 경우에만 무시됩니다. 기본 동작은 로컬 버전이 S3 버전보다 최신이 아닌 한 동일한 크기의 항목을 무시합니다.

    --delete
    대상에는 존재하지만 원본에는 존재하지 않는 파일은 동기화 중에 삭제됩니다.


    sync을 dryrun하고 싶을 때


    aws s3 sync s3://[同期元のバケット名] s3://[同期先のバケット名] --dryrun
    


    옵션
    상세


    --dryrun
    지정된 명령을 실제로 실행하지 않고 지정된 명령을 사용하여 수행할 작업을 표시합니다.


    옵션에 대한 자세한 내용은 참조을 DeepL로 번역하여 올렸습니다.
    그 밖에도 다양한 옵션이 있으므로, 읽어 보면 좋을지도입니다!

    참고



    AWS 명령줄 인터페이스(CLI: AWS 서비스를 관리하는 통합 도구) | AWS
    S3 sync에서 s3에서 파일을 동기화 할 때의주의 사항 | Developers.IO
    sync — AWS CLI 1.18.61 Command Reference

    좋은 웹페이지 즐겨찾기