¿Necesito una forma simple de hacer una copia de seguridad de los archivos en el glaciar Amazon desde la línea de comandos?

19

Tengo un servidor CentOS en línea con un directorio de archivos cPmove que necesito hacer una copia de seguridad en Amazon Glacier. Solo tengo acceso a la línea de comandos, sin GUI.

Necesito un cliente de línea de comandos que sea relativamente fácil de usar para cargar los archivos. Por ejemplo, he usado dropbox_uploader.sh antes ( https://github.com/andreafabrizi/Dropbox-Uploader ) con este sencillo script de bash:

#!/bin/bash
find /backup_folder -maxdepth 1 -name "cpmove-*.tar.gz" | while read CPMOVE
do
   ./dropbox_uploader.sh upload ${CPMOVE}
done

Vi este: https://github.com/carlossg/glacier-cli pero no tengo Java instalado en el servidor y estoy un poco indeciso al instalarlo, debido a todos los problemas de seguridad últimamente.

Tengo python y ruby:

me@server [/home]# python -V
Python 2.4.3
root@server [/home]# ruby --version
ruby 1.8.7 (2012-06-29 patchlevel 370) [i686-linux]
me@server [/home]#

¿Existe un cliente de línea de comando amazon glacier de ruby ​​(preferible) o python u otro idioma (menos preferible)?)

Ivan
fuente
Lo siento, no había investigado el glaciar en profundidad, pensé que tenías acceso normal a SSH. Respuesta eliminada
terdon
Desde entonces descubrí que puedo subir a s3 con la gema de niebla de rubí. Luego, desde la consola de administración aws de s3, puedo establecer una política de vencimiento y archivar los archivos en glacier. Trabajos. Además, la niebla es compatible con Glacier directamente, pero aún no lo he investigado. Para cualquiera que sea curioso, aquí está mi script ruby ​​para subir a s3: gist.github.com/ivanoats/4712421
Ivan

Respuestas:

9

La biblioteca canónica para interactuar con AWS a través de Python es Boto . Aunque está destinado a ser utilizado como una biblioteca en un script de Python, es lo suficientemente simple como para usarlo de forma independiente. Puede hojear la fina documentación , y esta página tiene una descripción general de cómo usar Boto, pero aquí están las partes importantes:

Ponga sus credenciales de AWS en ~/.boto:

[Credentials]
aws_access_key_id = FOO
aws_secret_access_key = BAR

Lista tus bóvedas:

$ glacier vaults

Cargar un archivo:

$ glacier upload foo-vault foo.zip

Lista de trabajos pendientes en una bóveda particular:

$ glacier jobs foo-vault

Aunque realmente no es más fácil de usar que Boto, la interfaz de la CLI de Amazon Glacier se basa en Boto y, de hecho, está diseñada para usuarios finales. Aquí hay un tutorial para ello.

Por último, la AWS-CLI oficial es bastante fácil de usar. Poner las credenciales en ~/.aws/credentialsy luego simplemente utilizar estos comandos:

Crea una bóveda:

$ aws glacier create-vault --account-id - --vault-name foo-vault

Sube un archivo:

$ aws glacier upload-archive --account-id - --vault-name foo-vault --body foo.zip
dotancohen
fuente
1
Lo curioso es que su paso upload-archiveni siquiera está cubierto en la documentación de mala calidad en docs.aws.amazon.com/cli/latest/userguide/…
cryanbhu
Estas instrucciones solo funcionarán si su bóveda está en la región predeterminada para boto (us-east-1). De lo contrario, debe especificar la región. Por ejemplo, si su bóveda está en CA, el comando debería estarlo aws glacier vaults --region us-west-1.
foobarbecue
4

Pruebe vsespb / mt-aws-glacier : sincronización de múltiples partes multiproceso de Perl con Amazon Glacier con instrucciones de implementación fáciles para CentOS.

vsespb
fuente
3

github.com/numblr/glaciertools proporciona scripts de bash que organizan la carga múltiple de un archivo grande con el cliente oficial de línea de comandos de AWS ( AWS CLI ). Esto es útil en el caso de que sus datos superen el límite de 4 GB para cargar un archivo en una sola operación con la CLI de AWS.

Para usar los scripts, debe tener instalada y configurada la AWS CLI, que requiere python. El enlace contiene información adicional sobre la configuración.

Luego, puede crear un archivo de su copia de seguridad y subirlo a una bóveda en el glaciar con

> ./glacierupload -v myvault /path/to/my/archive

Información más detallada está contenida en la documentación allí.

usuario1587520
fuente