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

19

У меня есть сервер 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 ${CPMOVE}
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 или другой язык (менее предпочтительный)?)

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

Ответы:

9

Каноническая библиотека для взаимодействия с AWS через Python - Boto . Хотя он предназначен для использования в качестве библиотеки в скрипте Python, его достаточно просто использовать независимо. Вы можете просмотреть прекрасную документацию , и на этой странице представлен обзор того, как использовать Boto, но вот важные части:

Введите свои учетные данные AWS в ~/.boto:

[Credentials]
aws_access_key_id = FOO
aws_secret_access_key = BAR

Перечислите свои хранилища:

$ glacier vaults

Загрузить файл:

$ glacier upload foo-vault foo.zip

Список ожидающих заданий в конкретном хранилище:

$ glacier jobs foo-vault

Хотя интерфейс Amazon Glacier CLI действительно не так прост в использовании, как само Boto, он основан на Boto и фактически предназначен для конечных пользователей. Вот учебник для этого.

Наконец, официальный AWS-CLI довольно прост в использовании. Поместите учетные данные в ~/.aws/credentialsи затем просто использовать эти команды:

Создать хранилище:

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

Загрузить файл:

$ aws glacier upload-archive --account-id - --vault-name foo-vault --body foo.zip
dotancohen
источник
1
Самое смешное, что ваш шаг upload-archiveдаже не описан
cryanbhu
Эти инструкции будут работать, только если ваше хранилище находится в регионе по умолчанию для boto (us-east-1). В противном случае вам нужно указать регион. Например, если ваше хранилище находится в CA, команда должна быть aws glacier vaults --region us-west-1.
foo barbecue
4

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

vsespb
источник
3

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

Карл Форнер
источник
3

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

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

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

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

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

user1587520
источник