Amazon S3 Récupérer un fichier supprimé

20

Est-il possible de récupérer un fichier que j'ai supprimé de mon compartiment S3?

vonhogen
la source

Réponses:

20

Selon la documentation Amazon S3:

Une fois supprimé, il n'existe aucune méthode pour restaurer ou restaurer un objet.

Dave Webb
la source
Il est regrettable que S3 ne prenne pas en charge les instantanés.
2010
1
Pour donner de l'espoir à certaines personnes, de nos jours, vous pouvez restaurer des fichiers si votre bucket a activé la gestion des versions.
jweyrich
comment diable ....?
scytale
43

Si vous avez activé le contrôle de version, oui, vous pouvez! Sur un compartiment versionné, une action de suppression sur un fichier ne le supprime pas vraiment mais ajoute une version avec un "marqueur de suppression". Vous pouvez supprimer le marqueur de suppression avec l'AWS CLI:

aws s3api delete-object --bucket yourbucket-name --key "yourfile" --version-id id_of_the_delete_marker

Vous pouvez obtenir tous les fichiers dans le compartiment avec

aws --output text s3api list-object-versions --bucket yourbucket-name > files.txt

Si vous souhaitez restaurer tous les fichiers du compartiment, vous pouvez essayer:

echo '#!/bin/bash' > undeleteScript.sh && aws --output text s3api list-object-versions --bucket yourbucket-name | grep -E "^DELETEMARKERS" | awk '{FS = "[\t]+"; print "aws s3api delete-object --bucket yourbucket-name --key \42"$3"\42 --version-id "$5";"}' >> undeleteScript.sh && . undeleteScript.sh; rm -f undeleteScript.sh;
Chris Cinelli
la source
J'apprécie cette réponse! Fonctionne parfaitement.
mardi
mec! votre script de suppression de tous les fichiers vient de me sauver la vie. Merci.
herostwist
Pour le script ci-dessus, vous devez ajouter un --output=textsi vous voulez qu'il fonctionne. Il suppose que vous générez votre commande AWS via un fichier .txt et non un fichier .JSON.
Brad Allison
J'ai essayé le script mais il ne restaure pas l'objet, il le supprime définitivement! Peut-être parce que je ne suis pas propriétaire du seau?
nicola
1
Pourquoi n'est-ce pas la réponse acceptée? @vonhogen veuillez reconsidérer votre choix :)
Janaka Bandara
3

Je viens de mettre à jour cette question car je cherchais la réponse:

Vous pouvez maintenant ajouter VERSIONING aux compartiments S3. Cela obligera S3 à conserver les versions d'un objet même après la suppression. Documentation complète: http://docs.amazonwebservices.com/AmazonS3/latest/dev/Versioning.html

dineth
la source
Est-il possible de récupérer un fichier supprimé sur AWS Console? Impossible de trouver un moyen de le faire.
Rafael Oliveira