17

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

4 ответа4

8

Каноническая библиотека для взаимодействия с 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
4

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

3

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

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

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

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

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

3

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .