Ho bisogno di un modo semplice per eseguire il backup dei file su Amazon Glacier dalla riga di comando?


19

Ho un server CentOS online con una directory di file cPmove di cui ho bisogno per eseguire il backup su Amazon Glacier. Ho solo l'accesso alla riga di comando, nessuna GUI.

Ho bisogno di un client da riga di comando che è relativamente facile da usare per caricare i file. Ad esempio ho già usato dropbox_uploader.sh ( https://github.com/andreafabrizi/Dropbox-Uploader ) con questo semplice script bash:

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

Ho visto questo: https://github.com/carlossg/glacier-cli ma non ho java installato sul server e sono un po 'titubante nell'installarlo, a causa di tutti i problemi di sicurezza recentemente.

Ho il pitone e il rubino:

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]#

Esiste un client rubino (preferibile) o pitone o altra lingua (meno preferibile) della riga di comando di amazon glacier?)


Scusa, non avevo approfondito il ghiacciaio, pensavo che avessi un normale accesso SSH. Risposta eliminata
terdon,

Da allora ho scoperto che posso caricare su s3 con la gemma fog di Ruby. Quindi, dalla console di gestione aws di s3, posso impostare una politica di scadenza e fare archiviare i file su glacier. Lavori. Inoltre, la nebbia supporta direttamente Glacier ma non l'ho ancora esaminato. Per chiunque sia curioso, ecco il mio script ruby ​​per il caricamento su s3: gist.github.com/ivanoats/4712421
Ivan

Risposte:


9

La libreria canonica per l'interfacciamento con AWS tramite Python è Boto . Sebbene sia destinato a essere utilizzato come libreria in uno script Python, è abbastanza semplice da utilizzare in modo indipendente. Puoi sfogliare la documentazione dettagliata e questa pagina offre una panoramica su come usare Boto, ma qui ci sono le parti importanti:

Inserisci le tue credenziali AWS in ~/.boto:

[Credentials]
aws_access_key_id = FOO
aws_secret_access_key = BAR

Elenca le tue volte:

$ glacier vaults

Caricare un file:

$ glacier upload foo-vault foo.zip

Elenca i lavori in sospeso su un determinato deposito:

$ glacier jobs foo-vault

Sebbene non sia davvero più facile da usare rispetto a Boto stesso, l' interfaccia della CLI di Amazon Glacier si basa su Boto ed è infatti progettata per gli utenti finali. Ecco un tutorial per questo.

Infine, l' AWS-CLI ufficiale è piuttosto facile da usare. Mettere le credenziali in ~/.aws/credentialse poi semplicemente usare questi comandi:

Crea un caveau:

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

Carica un file:

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

1
la cosa divertente è che il tuo passo upload-archivenon è nemmeno coperto dalla documentazione scadente su docs.aws.amazon.com/cli/latest/userguide/…
cryanbhu

Queste istruzioni funzioneranno solo se il tuo vault è nella regione predefinita per boto (us-east-1). Altrimenti, è necessario specificare la regione. Ad esempio, se il Vault è in CA, il comando dovrebbe essere aws glacier vaults --region us-west-1.
foobaremade



3

github.com/numblr/glaciertools fornisce script bash che orchestrano il caricamento mulitpart di un file di grandi dimensioni con il client ufficiale della riga di comando AWS ( CLI AWS ). Ciò è utile nel caso in cui i dati superino il limite di 4 GB per il caricamento di un archivio in un'unica operazione con l'interfaccia della riga di comando di AWS.

Per utilizzare gli script devi avere installato e configurato l'interfaccia della riga di comando di AWS, che richiede Python. Il collegamento contiene informazioni aggiuntive sull'installazione.

Quindi è possibile creare un archivio del backup e caricarlo in un caveau sul ghiacciaio con

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

Informazioni più dettagliate sono contenute nella documentazione lì.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.