2017-04-12 4 views
3

CLI S3 CLI가 작동하지 포함 나는 매우 AWS에 의해 혼동하고있어 좋아

나는 S3 버킷이 : 나는 파일이 S3 버킷에 있는지 확인한

s3://my-bucket 
    directory/ 
    file1 
    file2 
    backup-logs-1234 
    backup-logs-5678 

을, 내가 할 수있는 그들과 함께보기 aws s3 ls s3://my-bucket

폴더 (8000 개)의 모든 백업 로그를 삭제하려고합니다. 나는 어떤 파일이

3) I를 삭제 s3://my-bucket/directory/

2) aws s3 rm "s3://my-bucket/" --exclude "*" --include "*backup-logs*" --dryrun는 보지 않는다 삭제하려고 aws s3 rm "s3://my-bucket/" --include "*backup-logs*" --dryrun 어떤 이유로 내가

1 생각할 수 포함/제외의 모든 조합을) 시도했습니다 또한 "백업"(예 : b, ba, back)의 다른 부분 문자열을 시도했습니다.

4) 또한 재귀 적으로 추가하려고 시도했으나 (모든 파일이 필요하지는 않지만) 패턴과 일치하는 directory/에는 최상위 레벨의 패턴이 없습니다.

나는 바보 같은 짓을하고 있다고 확신합니다. 도움을 미리 주셔서 감사합니다

답변

4

aws s3 rm s3://my-bucket/ --recursive --exclude "*" --include "*backup-logs*"가 작동합니다.

당신이 명령은 모든 파일에 대해 수행 또는 지정된 디렉토리 또는 접두사 아래 개체를 당신의 버킷 내에서

--recursive (부울) 여러 개체를 삭제할

. 당신이 재귀 사용해야 있도록 약 한 단계 신경 경우에도

당신은 사용 제외 포함/약 http://docs.aws.amazon.com/cli/latest/reference/s3/index.html#use-of-exclude-and-include-filters

+0

아를 읽을 수 있습니까? 그것은 비 직관적입니다. 작동 시키려면 대답은 가깝지만 exclude를 추가해야합니다. 그렇지 않으면 모든 것이 포함됩니다 :'aws s3 rm "s3 : // my-bucket"--exclude "*"--include "* backup-logs * "- 재귀 적". 감사! – toppy42

+0

ok 그것을 잊어 버렸습니다. 답변이 업데이트됩니다. –