Amazon S3 Recuperar archivo eliminado


Respuestas:


20

De acuerdo con la documentación de Amazon S3:

Una vez eliminado, no hay ningún método para restaurar o recuperar un objeto.


Es lamentable que S3 no admita instantáneas.
churnd

1
Para dar esperanza a algunas personas, hoy en día puede recuperar archivos si su depósito tiene habilitado el control de versiones.
jweyrich

¿cómo demonios ...?
scytale

43

Si tiene habilitado el control de versiones, ¡sí puede! En un depósito versionado, una acción de eliminación en un archivo realmente no lo elimina, pero agrega una versión con un "Eliminar marcador". Puede eliminar el marcador de eliminación con la AWS CLI:

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

Puede obtener todos los archivos en el cubo con

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

Si desea recuperar todos los archivos en el depósito, puede probar:

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;

Agradezco esta respuesta! Trabajado sin problemas.
tacotuesday

¡tipo! Su guión de recuperación de todos los archivos me salvó la vida. gracias.
herostwist

Para la secuencia de comandos anterior, debe agregar un --output=textsi desea que funcione. Está asumiendo que está emitiendo su comando AWS a través de un archivo .txt y no un archivo .JSON.
Brad Allison el

He probado el script pero no restaura el objeto, ¡lo elimina permanentemente! ¿Puede ser porque no soy el dueño del cubo?
nicola

1
¿Por qué esta no es la respuesta aceptada? @vonhogen por favor reconsidere su elección :)
Janaka Bandara


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.