2017-04-12 117 views
3

好吧,我非常的AWS CLI混淆S3 CLI包括不工作

我有一個S3桶:

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

我驗證過的文件都在S3存儲桶,我可以看到他們aws s3 ls s3://my-bucket

我想刪除所有的備份日誌文件夾(其中8000)英寸我試過)包含/排除的每一個組合我能想到的

1出於某種原因aws s3 rm "s3://my-bucket/" --include "*backup-logs*" --dryrun試圖刪除s3://my-bucket/directory/

2)aws s3 rm "s3://my-bucket/" --exclude "*" --include "*backup-logs*" --dryrun沒有看到任何要刪除的文件

3)I還嘗試了不同的「備份」子串(例如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

啊,所以你必須使用遞歸,即使你只關心一個水平?這是不直觀的。得到它的工作,你的答案是接近,但我也有添加排除,否則它包括了一切:'AWS S3 RM「S3://我鬥」 - 排除「*」 --include「*備份日誌* 「 - 遞歸」。謝謝! – toppy42

+0

好吧,忘了這個,會更新答案 –