J'ai besoin d'un moyen simple de sauvegarder des fichiers sur Amazon glacier à partir de la ligne de commande?


19

J'ai un serveur CentOS en ligne avec un répertoire de fichiers cPmove que je dois sauvegarder sur Amazon Glacier. Je n'ai qu'un accès en ligne de commande, pas d'interface graphique.

J'ai besoin d'un client en ligne de commande relativement facile à utiliser pour télécharger les fichiers. Par exemple, j'ai déjà utilisé dropbox_uploader.sh ( https://github.com/andreafabrizi/Dropbox-Uploader ) avec ce simple script bash:

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

J'ai vu celui-ci: https://github.com/carlossg/glacier-cli mais je n'ai pas installé java sur le serveur et je suis un peu hésitant à l'installer, en raison de tous les problèmes de sécurité récents.

J'ai du python et du rubis:

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-t-il un client en ligne de commande amazon glacier ruby ​​(préférable) ou python ou autre (moins préférable)?)


Désolé, je n'avais pas examiné Glacier en profondeur, je pensais que vous aviez un accès ssh normal. Réponse supprimée.
terdon

Depuis, j'ai découvert que je pouvais télécharger vers s3 avec la gemme de brouillard de ruby. Ensuite, à partir de la console de gestion aws de s3, je peux définir une politique d'expiration et faire archiver les fichiers sur glacier. Travaux. De plus, le brouillard supporte directement Glacier, mais je n'ai pas encore examiné cela. Pour ceux qui sont curieux, voici mon script rubis à télécharger sur s3: gist.github.com/ivanoats/4712421
Ivan

Réponses:


9

La bibliothèque canonique pour l'interfaçage avec AWS via Python est Boto . Bien qu'il soit destiné à être utilisé comme bibliothèque dans un script Python, il est assez simple à utiliser indépendamment. Vous pouvez parcourir la documentation fine , et cette page a un aperçu de la façon d'utiliser Boto, mais voici les parties importantes:

Mettez vos informations d'identification AWS dans ~/.boto:

[Credentials]
aws_access_key_id = FOO
aws_secret_access_key = BAR

Listez vos coffres:

$ glacier vaults

Télécharger un fichier:

$ glacier upload foo-vault foo.zip

Répertorier les travaux en attente sur un coffre-fort particulier:

$ glacier jobs foo-vault

Bien qu'il ne soit vraiment pas plus facile à utiliser que Boto lui-même, l' interface CLI d'Amazon Glacier est basée sur Boto et est en fait conçue pour les utilisateurs finaux. Voici un tutoriel pour cela.

Enfin, l' AWS-CLI officielle est plutôt facile à utiliser. Mettez les informations d' identification dans ~/.aws/credentialspuis il suffit d' utiliser ces commandes:

Créez un coffre-fort:

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

Téléchargez un fichier:

$ aws glacier upload-archive --account-id - --vault-name foo-vault --body foo.zip

1
ce qui est drôle, c'est que votre démarche upload-archiven'est même pas couverte dans la documentation de mauvaise qualité à docs.aws.amazon.com/cli/latest/userguide/…
cryanbhu

Ces instructions ne fonctionneront que si votre coffre-fort se trouve dans la région par défaut pour boto (us-east-1). Sinon, vous devez spécifier la région. Par exemple, si votre coffre-fort est en CA, la commande devrait l'être aws glacier vaults --region us-west-1.
foobar barbecue



3

github.com/numblr/glaciertools fournit des scripts bash qui orchestrent le téléchargement en plusieurs parties d'un gros fichier avec le client de ligne de commande AWS officiel ( AWS CLI ). Cela est utile dans le cas où vos données dépassent la limite de 4 Go pour le téléchargement d'une archive en une seule opération avec l'AWS CLI.

Pour utiliser les scripts, vous devez avoir installé et configuré l'AWS CLI, qui nécessite python. Le lien contient des informations supplémentaires sur la configuration.

Ensuite, vous pouvez créer une archive de votre sauvegarde et la télécharger dans un coffre-fort sur glacier avec

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

Des informations plus détaillées sont contenues dans la documentation qui s'y trouve.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.