2021.08.25 - [AWS cli] s3 파일/디렉터리 다운로드
위 글에 이어서, 이 글에서는 s3에 업로드된 파일 또는 디렉터리를 삭제하는 방법에 대해 정리해둔다.
사전 조건
1. aws cli 설치
2. s3 읽기, 쓰기 권한
aws s3 rm
aws s3의 하위 명령어는 리눅스의 파일/디렉터리 관련 명령어와 유사하게 cp, mv, ls 등의 명령어를 지원한다.
단일 파일 삭제
aws s3 rm <S3_URI>
# 예시
aws s3 rm s3://test/rm_test/while.sh
참고로 아무 파일도 존재하지 않는 디렉터리는 자동으로 경로가 삭제된다.
디렉터리 삭제
특정 디렉터리 아래의 파일을 전부 다룰 때에는 --recursive 옵션을 사용한다.
aws s3 rm --recursive <S3_URI>
# 예시
aws s3 rm --recursive s3://test/rm_test/
디렉터리 삭제 - 필터링(특정 파일 패턴 제외)
디렉터리 내 파일을 삭제하되 특정 패턴의 파일은 남겨두고 싶다면. --recursive 옵션과 함께 --exclude 옵션을 사용한다.
aws s3 rm --recursive --exclude "<PATTERN>" <S3_URI>
# 예시
aws s3 rm --recursive --exclude "*.sh" s3://test/rm_test/
예시에서 .sh로 끝나는 파일은 남겨두기 위해, --exclude 옵션으로 *.sh 패턴을 지정했다. 그 결과, 의도한 대로 스크립트 파일을 남아있는 모습을 확인할 수 있다.
파일 삭제 - 테스트
--dryrun 옵션을 이용하면 수행 결과를 확인하되, 명령은 실제로 실행시키지 않을 수 있다. 잘못된 파일을 삭제해 난감해지는 일을 방지하기 위해 명령을 사전에 테스트할 목적으로 사용할 수 있다.
aws s3 rm --dryrun <S3_URI>
# 예시
aws s3 rm --recursive --dryrun s3://test/rm_test/
결과 출력 시, dryrun임을 표시하여 실제로 수행되지 않았음을 알려준다.
참고 문서