Amazon S3 Memulihkan file yang dihapus


Jawaban:


20

Menurut Dokumentasi Amazon S3:

Setelah dihapus, tidak ada metode untuk mengembalikan atau membatalkan penghapusan suatu objek.


Sayangnya S3 tidak mendukung snapshot.
churnd

1
Untuk memberi harapan kepada beberapa orang, saat ini Anda dapat membatalkan penghapusan file jika versi bucket Anda diaktifkan.
jweyrich

bagaimana sial ....?
scytale

43

Jika Anda mengaktifkan versi, ya Anda bisa! Pada bucket berversi, tindakan hapus pada file tidak benar-benar menghapusnya tetapi ia menambahkan versi dengan "Hapus Penanda". Anda dapat menghapus penanda penghapusan dengan AWS CLI:

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

Anda bisa mendapatkan semua file dalam ember

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

Jika Anda ingin membatalkan penghapusan semua file dalam ember, Anda dapat mencoba:

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;

Saya menghargai jawaban ini! Bekerja dengan sempurna.
tacotuesday

kawan! hapus semua skrip file Anda baru saja menyelamatkan hidup saya. Terima kasih.
herostwist

Untuk skrip di atas, Anda perlu menambahkan --output=textjika Anda ingin itu berfungsi. Dia menganggap Anda mengeluarkan perintah AWS Anda melalui file .txt dan bukan file .JSON.
Brad Allison

Saya sudah mencoba skrip tetapi tidak mengembalikan objek, menghapusnya secara permanen! Mungkin karena aku bukan pemilik ember?
nicola

1
Mengapa ini bukan jawaban yang diterima? @vonhogen harap pertimbangkan kembali pilihan Anda :)
Janaka Bandara


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.