IT/FinOps
[aws] aws cli로 오래된 s3 객체 지우기
Jany
2022. 7. 22. 15:02
반응형
aws cli 명령어 중에 rm으로는 s3 객체를 여러개를 한번에 지울수 없다.
s3api 를 사용해서 지워야되는데,
해당되는 리스트를 만들고,
리스트에 있는 파일을 지우는 방식으로 진행했다.
2018년 12월 31일까지 수정된 파일 저장하기
aws s3api list-objects --bucket stillshot-log --query "Contents[?LastModified<='2018-12-31'].[Key]" --output text > file-of-keys
저장된 파일을 읽어서 삭제하기
cat file-of-keys | xargs -P8 -n1000 bash -c 'aws s3api delete-objects --bucket stillshot-log --delete "Objects=[$(printf "{Key=%s}," "$@")],Quiet=true"' _
우선 cat 을 head로 바꿔서 삭제 해봤다.
root@newstars:~# head file-of-keys
head에 있는 파일이 조회되는지 확인
그럼 이제 돌리자.
반응형