Amazon S3は削除されたファイルを回復します


回答:


20

Amazon S3ドキュメントによると

削除されたオブジェクトを復元または復元する方法はありません。


残念ながら、S3はスナップショットをサポートしていません。
チャーン

1
一部の人々に希望を与えるために、最近ではバケットのバージョン管理が有効になっている場合、ファイルの削除を取り消すことができます。
-jweyrich

なんてこった…。
scytale

43

バージョン管理を有効にしている場合は、できます!バージョン管理されたバケットでは、ファイルに対する削除アクションは実際には削除しませんが、「マーカーの削除」付きのバージョンを追加します。AWS CLIで削除マーカーを削除できます。

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

バケット内のすべてのファイルを取得するには

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

バケット内のすべてのファイルの削除を取り消す場合は、次を試すことができます。

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;

この回答に感謝します!完璧に働きました。
tacotuesday

おい!すべてのファイルを元に戻すスクリプトが私の命を救っただけです。ありがとうございました。
herostwist

上記のスクリプトでは、機能させる--output=text場合はを追加する必要があります。彼は、.JSONファイルではなく.txtファイルを介してAWSコマンドを出力していると想定しています。
ブラッドアリソン

スクリプトを試しましたが、オブジェクトを復元せず、永久に削除します!バケツの所有者ではないからでしょうか?
ニコラ

1
なぜこれが受け入れられた答えではないのですか?@vonhogenはあなたの選択を再考してください:)
Janaka Bandara

3

私は答えを探していたので、この質問を更新するだけです:

VERSIONINGをS3バケットに追加できるようになりました。これにより、S3は削除後もオブジェクトのバージョンを保持します。完全なドキュメント:http : //docs.amazonwebservices.com/AmazonS3/latest/dev/Versioning.html


削除されたファイルをAWSコンソールで取得することはできますか?その方法を見つけることができません。
ラファエルオリベイラ14年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.