Angenommen, ich habe die S3-Versionierung für meinen Bucket aktiviert: http://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html
Nehmen wir an, jemand (zum Beispiel ein Junior-Mitarbeiter) hat den S3-Bucket durcheinander gebracht (einige Dateien werden versehentlich gelöscht usw.)
Wie kann ich dann den gesamten versionierten Bucket zu einem bestimmten Zeitpunkt wiederherstellen? Ich bin der Meinung, dass dies mit der S3-API möglich sein sollte, aber ich würde es vorziehen, kein solches Skript selbst zu schreiben, aus Angst, etwas zu verpassen (ich bin kein AWS-Experte).
Gibt es eine gute Lösung für dieses Problem? Ich verwende den S3-Bucket als Image-Speicher für meine Rails-App, daher wäre etwas Ruby-basiertes, das ich als Rechenaufgabe verwenden könnte, ideal.
quelle
Wenn ich die Dokumentation richtig verstehe und Sie die Versionierung aktiviert haben, wird beim Löschen der Datei einfach die "neueste" Version mit einer Versionsnummer zurückgesetzt. Dies gibt jedoch nicht die Möglichkeit, einen gesamten Bucket wiederherzustellen. Dies macht die vorherigen Versionen in S3 nicht für Ihre Anforderungen geeignet (dh Wiederherstellung nach dem Löschen).
Bewahren Sie ein Backup auch an einem anderen Ort für alle Fälle auf. Stack Overflow hat eine Frage / Antwort zu dieser Verwendung
s3cmd
. Ich bin sicher, Sie könnten irgendwo ein Ruby-basiertes Skript finden oder auf dieser Site um Hilfe bitten, wenn Sie es benötigen.quelle
s3cmd
, aber ich mag es auch, Snapshots auf S3 versioniert zu haben.delete
Einfügen eines Lösch-Markers und zukünftige Anforderungen geben eine 404 zurück, nicht die vorherige Version. Zum WIEDERHERSTELLEN können Sie eine alte Version in eine neue Version oderdelete
eine bestimmte Version des aktuellen Objekts kopieren. Zukünftigenget
wird dann die vorletzte Version zugewiesen. docs.aws.amazon.com/AmazonS3/latest/dev/… um fair zu sein, ist die Doku über die Bucket-Versionierung eher vage und fehlt ...Hier ist ein praktisches kleines PHP-Skript, mit dem ich meinen Bucket aus einem Backup-Bucket mit Versionierung wiederhergestellt habe:
So rennen Sie mit aktivierter Versionierung zurück in einen Bucket
Stellen Sie die Sicherung von Dateien wieder her, die zwischen diesen beiden Zeitstempeln versioniert wurden
Sie können das PHP-Skript hier herunterladen: http://boulderapps.co/post/backing-up-and-restoring-s3-to-a-versioned-bucket
quelle