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.