Recuperar directorios de Glacier en Amazon S3

Días atrás tuve que recuperar un respaldo que tenía en Amazon S3, el cuál ya se había pasado a Glacier y me encontré con que desde la consola de Amazon S3 no se puede restaurar directorios completos desde Glacier.

Investigando un poco en Google me encontré que con que la aplicación nativa en la web de Amazon no permite recuperar directorios, sino que hay que hacerlo archivo por archivo. Para recuperar directorios hay que hacerlo con una aplicación de terceros si o si.

S3cmd

Me encontré con esta herramienta cuando quise implementar el respaldo de mi máquina a S3. Lo primero que tenemos que hacer es configurar nuestras credenciales de Amazon para poder conectarnos al Bucket de S3.

La instalación, configuración y el uso no la voy a poner que está en el manual aquí. Lo que sí me sirvió fue el comando “restore”:

s3cmd restore s3://BUCKET/OBJECT

El detalle es que con este comando, como vemos en el ejemplo, restauramos solo un objeto. Probando, encontré que si le agregamos –recursive nos permite recuperar un directorio entero.

s3cmd restore --recursive s3://BUCKET/DIRECTORY

Luego de eso debemos esperar que Amazon nos recupere de Glacier nuestro directorio y lo descargamos con “get”.

s3cmd get --recursive s3://BUCKET/DIRECTORY