Ich brauche eine einfache Möglichkeit, um Dateien von der Kommandozeile auf Amazon Glacier zu sichern.


19

Ich habe einen CentOS-Server online mit einem Verzeichnis von cPmove-Dateien, die ich zum Sichern auf Amazon Glacier benötige. Ich habe nur Kommandozeilenzugriff, keine GUI.

Ich benötige einen Befehlszeilen-Client, mit dem die Dateien relativ einfach hochgeladen werden können. Ich habe zum Beispiel zuvor dropbox_uploader.sh ( https://github.com/andreafabrizi/Dropbox-Uploader ) mit diesem einfachen Bash-Skript verwendet:

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

Ich habe folgendes gesehen: https://github.com/carlossg/glacier-cli, aber ich habe kein Java auf dem Server installiert und zögere ein bisschen, es zu installieren, wegen all der Sicherheitsprobleme in letzter Zeit.

Ich habe Python und 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]#

Gibt es einen Ruby (vorzuziehen) oder Python oder eine andere Sprache (weniger vorzuziehen) Amazon Glacier-Befehlszeilen-Client?)


Entschuldigung, ich habe mich nicht eingehend mit Glacier befasst. Ich dachte, Sie hätten normalen SSH-Zugang. Antwort gelöscht.
Terdon

Ich habe da rausgefunden, dass ich mit ruby's fog gem auf s3 hochladen kann. Dann kann ich über die aws-Managementkonsole von s3 eine Ablaufrichtlinie festlegen und die Dateien auf Glacier archivieren lassen. Funktioniert. Nebel unterstützt Glacier auch direkt, aber ich habe mich noch nicht damit befasst. Für alle, die neugierig sind, hier ist mein Ruby-Skript zum Hochladen auf s3: gist.github.com/ivanoats/4712421
Ivan

Antworten:


9

Die kanonische Bibliothek für die Anbindung von AWS über Python ist Boto . Obwohl es als Bibliothek in einem Python-Skript verwendet werden soll, ist es einfach genug, um unabhängig verwendet zu werden. Sie können die Dokumentation überfliegen und auf dieser Seite erhalten Sie einen Überblick über die Verwendung von Boto. Hier sind jedoch die wichtigen Teile:

Geben Sie Ihre AWS-Anmeldeinformationen ein ~/.boto:

[Credentials]
aws_access_key_id = FOO
aws_secret_access_key = BAR

Listen Sie Ihre Tresore:

$ glacier vaults

Eine Datei hochladen:

$ glacier upload foo-vault foo.zip

Liste ausstehender Jobs in einem bestimmten Tresor:

$ glacier jobs foo-vault

Obwohl es nicht einfacher zu bedienen ist als Boto selbst, basiert Amazon Glacier CLI Interface auf Boto und wurde für Endbenutzer entwickelt. Hier ist ein Tutorial dafür.

Schließlich ist die offizielle AWS-CLI recht einfach zu bedienen. Geben Sie die Anmeldeinformationen ein ~/.aws/credentialsund verwenden Sie dann einfach die folgenden Befehle:

Erstellen Sie einen Tresor:

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

Laden Sie eine Datei hoch :

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

1
Das Komische ist, dass Ihr Schritt upload-archivenicht einmal in der bescheidenen
cryanbhu

Diese Anweisungen funktionieren nur, wenn sich Ihr Tresor in der Standardregion für Boto (us-east-1) befindet. Andernfalls müssen Sie die Region angeben. Befindet sich Ihr Tresor beispielsweise in CA, sollte der Befehl lauten aws glacier vaults --region us-west-1.
Foobarbecue



3

github.com/numblr/glaciertools bietet Bash-Skripte, die den mehrteiligen Upload einer großen Datei mit dem offiziellen AWS-Befehlszeilen-Client ( AWS CLI ) koordinieren . Dies ist hilfreich, wenn Ihre Daten die 4-GB-Grenze für das Hochladen eines Archivs in einem einzigen Vorgang mit der AWS-CLI überschreiten.

Um die Skripte verwenden zu können, muss die AWS-CLI installiert und eingerichtet sein, für die Python erforderlich ist. Der Link enthält zusätzliche Informationen zum Setup.

Anschließend können Sie ein Archiv Ihres Backups erstellen und es mit in einen Tresor auf dem Gletscher hochladen

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

Nähere Informationen finden Sie in der dortigen Dokumentation .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.