2017-04-12 7 views
3

D'accord, je suis très confus pour les SSFE cliS3 cli inclut ne fonctionne pas

j'ai un seau S3:

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

J'ai vérifié que les fichiers sont dans le seau s3, et je peux les voir avec aws s3 ls s3://my-bucket

J'essaie de supprimer tous les journaux de sauvegarde dans le dossier (8000 d'entre eux). J'ai essayé toutes les combinaisons de includes/exclut je peux penser

1) Pour une raison quelconque aws s3 rm "s3://my-bucket/" --include "*backup-logs*" --dryrun tente de supprimer s3://my-bucket/directory/

2) aws s3 rm "s3://my-bucket/" --exclude "*" --include "*backup-logs*" --dryrun ne voit pas tous les fichiers à supprimer

3) I J'ai aussi essayé différentes sous-chaînes de "sauvegarde" (par exemple, b, ba, arrière)

4) J'ai aussi essayé d'ajouter récursif (même si je ne le veux pas) et il trouve tous les fichiers dans directory/ qui correspondent au modèle, mais aucun des plus haut niveau

Je suis sûr que je fais quelque chose de stupide. Merci d'avance pour l'aide

Répondre

4

aws s3 rm s3://my-bucket/ --recursive --exclude "*" --include "*backup-logs*" devrait fonctionner.

Lorsque vous souhaitez supprimer plusieurs objets dans votre seau

--recursive (Boolean) La commande est exécutée sur tous les fichiers ou objets dans le répertoire spécifié ou préfixe.

Vous pouvez lire au sujet http://docs.aws.amazon.com/cli/latest/reference/s3/index.html#use-of-exclude-and-include-filters inclure/exclure l'utilisation

+0

Ah, donc vous devez utiliser récursive même si vous ne vous préoccupez un niveau? C'est non intuitif. Vous avez à travailler, votre réponse est proche, mais je dois aussi ajouter exclure ou bien il comprend tout: 'SSFE s3 rm « s3: // mon-seau » --exclude « * » --include « * sauvegarde-logs * "--recursive". Merci! – toppy42

+0

ok oublié à ce sujet, mettra à jour la réponse –