Amazon S3 Silinen Dosyayı Kurtar


Yanıtlar:


20

Göre Amazon S3 Dokümantasyon:

Silindikten sonra, bir nesneyi geri yükleme veya silme işlemini geri alma yöntemi yoktur.


Bu talihsiz bir S3 anlık görüntüleri desteklemiyor.
— churnd

1
Bazı kişilere umut vermek için, günümüzde grubunuzda sürüm oluşturma özelliği etkinse dosyaları geri alabilirsiniz.
— jweyrich

nasıl dammit ....?
— scytale

43

Sürüm oluşturma etkinse, evet yapabilirsiniz! Sürümlü bir grupta, bir dosyadaki silme işlemi onu gerçekten silmez, ancak "İşaretçiyi Sil" içeren bir sürüm ekler. Silme işaretleyicisini AWS CLI ile silebilirsiniz:

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

Kovadaki tüm dosyaları

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

Gruptaki tüm dosyaları silme işlemini geri almak isterseniz deneyebilirsiniz:

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;

Bu cevabı takdir ediyorum! Kusursuz çalıştı.
— tacotuesday

kanka! tüm dosyaları geri al komutunu hayatımı kurtardım. teşekkür ederim.
— herostwist

Yukarıdaki komut dosyası --output=textiçin çalışmasını istiyorsanız bir eklemeniz gerekir . AWS komutunuzu .JSON dosyası değil, bir .txt dosyası aracılığıyla çıkardığınızı varsayıyor.
— Brad Allison

Ben komut dosyasını denedim ama nesneyi geri yüklemez, kalıcı olarak siler! Kovanın sahibi olmadığım için olabilir mi?
— nicola

1
Bu neden kabul edilen cevap değil? @vonhogen lütfen seçiminizi tekrar düşünün :)
— Janaka Bandara


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.