Мне нужен простой способ резервного копирования файлов на Amazon ледник из командной строки?

19358
Ivan

У меня есть сервер CentOS онлайн с каталогом файлов cPmove, который мне нужен для резервного копирования в Amazon Glacier. У меня есть только доступ к командной строке, без графического интерфейса.

Мне нужен клиент командной строки, который относительно прост в использовании для загрузки файлов. Например, я использовал dropbox_uploader.sh ранее ( https://github.com/andreafabrizi/Dropbox-Uploader ) с этим простым сценарием bash:

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

Я видел это: https://github.com/carlossg/glacier-cli, но у меня не установлен Java на сервере, и я немного стесняюсь его устанавливать из-за всех проблем безопасности в последнее время.

У меня есть питон и рубин:

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

Есть ли в командной строке amazon glacier клиент ruby ​​(предпочтительно) или python или другой язык (менее предпочтительный)?)

16
Извините, я не посмотрел в Glacier подробно, я думал, что у вас был нормальный доступ по SSH. Ответ удален. terdon 11 лет назад 0
С тех пор я узнал, что могу загрузить на s3 с помощью тумана Рубина. Затем из консоли управления s3 в aws я могу установить политику истечения срока действия и архивировать файлы на ледник. Работает. Кроме того, туман поддерживает Glacier напрямую, но я еще не изучал это. Для всех, кому интересно, вот мой скрипт ruby ​​для загрузки на s3: https://gist.github.com/ivanoats/4712421 Ivan 11 лет назад 0

4 ответа на вопрос

8
dotancohen

The canonical library for interfacing with AWS via Python is Boto. Though it is intended to be used as a library in a Python script, it is simple enough to use independently. You can skim the fine documentation, and this page has an overview of how to use Boto, but here are the important parts:

Put your AWS credentials in ~/.boto:

[Credentials] aws_access_key_id = FOO aws_secret_access_key = BAR 

List your vaults:

$ glacier vaults 

Upload a file:

$ glacier upload foo-vault foo.zip 

List pending jobs on a particular vault:

$ glacier jobs foo-vault 

Though it really isn't easier to use than Boto itself, Amazon Glacier CLI Interface is based on Boto and is in fact designed for end users. Here is a tutorial for it.

Lastly the official AWS-CLI is rather easy to use. Put the credentials in ~/.aws/credentials and then simply use these commands:

Create a vault:

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

Upload a file:

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

Попробуйте vsespb / mt-aws-glacier - многопоточная синхронизация Perl с Amazon Glacier с помощью простых инструкций по развертыванию CentOS.

3
Karl Forner

Есть еще одно программное обеспечение, которое также называется glacier-cli ( https://github.com/basak/glacier-cli ), но в python оно работает довольно хорошо.

1
user1587520

github.com/numblr/glaciertools предоставляет сценарии bash, которые управляют многоэтапной загрузкой большого файла с помощью официального клиента командной строки AWS ( AWS CLI ). Это полезно в том случае, если ваши данные превышают ограничение в 4 ГБ для загрузки архива за одну операцию с CLI AWS.

Для использования сценариев вам необходимо установить и настроить AWS CLI, для чего требуется python. Ссылка содержит дополнительную информацию о настройке.

Затем вы можете создать архив вашей резервной копии и загрузить его в хранилище на леднике с помощью

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

Более подробная информация содержится в документации там.