Amazon S3 Wiederherstellen der gelöschten Datei

25394
vonhogen

Kann ich eine Datei wiederherstellen, die ich aus meinem S3-Bucket gelöscht habe?

16

4 Antworten auf die Frage

32
Chris Cinelli

Wenn Sie die Versionierung aktiviert haben, können Sie dies auch tun! Bei einem versionierten Bucket löscht eine Löschaktion für eine Datei diese nicht wirklich, fügt jedoch eine Version mit einer "Delete-Markierung" hinzu. Sie können die Löschmarkierung mit der AWS-CLI löschen:

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

Sie können alle Dateien im Bucket mit erhalten

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

Wenn Sie alle Dateien im Bucket wiederherstellen möchten, können Sie Folgendes versuchen:

echo '#!/bin/bash' > undeleteScript.sh && aws --output text s3api list-object-versions --bucket yourbucket-name | grep -E "^DELETEMARKERS" | awk '' >> undeleteScript.sh && . undeleteScript.sh; rm -f undeleteScript.sh; 
Ich freue mich über diese Antwort! Einwandfrei gearbeitet nojak vor 8 Jahren 0
das hat meinen Abend gerettet. Danke dir! Von Landfried vor 8 Jahren 0
Kumpel! Ihr Skript zum Wiederherstellen aller Dateien hat gerade mein Leben gerettet. Danke dir. herostwist vor 8 Jahren 0
Für das obige Skript müssen Sie einen --output = Text hinzufügen, wenn Sie möchten, dass es funktioniert. Er geht davon aus, dass Sie Ihren AWS-Befehl über eine TXT-Datei und nicht über eine JSON-Datei ausgeben. Brad Allison vor 7 Jahren 0
Ich habe das Skript ausprobiert, aber das Objekt wird nicht wiederhergestellt, es wird dauerhaft gelöscht. Kann es sein, dass ich nicht der Besitzer des Eimers bin? nicola vor 6 Jahren 0
Warum ist dies nicht die akzeptierte Antwort? @vonhogen bitte überlege deine Wahl :) Janaka Bandara vor 6 Jahren 0
19
Dave Webb

Laut der Amazon S3-Dokumentation:

Nach dem Löschen gibt es keine Methode zum Wiederherstellen oder Wiederherstellen eines Objekts.

Leider unterstützt S3 keine Momentaufnahmen. churnd vor 14 Jahren 0
Um einigen Leuten Hoffnung zu geben, können Sie heutzutage Dateien wiederherstellen, wenn in Ihrem Bucket die Versionsverwaltung aktiviert ist. jweyrich vor 7 Jahren 0
3
dineth

Aktualisieren Sie diese Frage, während ich nach der Antwort suchte:

Sie können jetzt VERSIONING zu S3-Buckets hinzufügen. Dies führt dazu, dass S3 auch nach dem Löschen Versionen eines Objekts behält. Vollständige Dokumentation: http://docs.amazonwebservices.com/AmazonS3/latest/dev/Versioning.html

Kann eine gelöschte Datei über AWS Console abgerufen werden? Kann keinen Weg finden, das zu tun. Rafael Oliveira vor 10 Jahren 0
0
Fabian M

Sie können jetzt Objektversionen mit der AWS-Konsole auflisten : http://docs.aws.amazon.com/AmazonS3/latest/UG/managing-objects-versioned-bucket.html

Wenn Sie über die richtigen Berechtigungen verfügen, können Sie die Löschmarkierung (die neueste Version eines gelöschten Objekts) löschen. Das Ergebnis wäre, dass das Objekt wieder verfügbar ist.