Мне нужен простой способ резервного копирования файлов на ледник Амазон из командной строки?
У меня есть сервер 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 ответа
Каноническая библиотека для взаимодействия с 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
https://github.com/numblr/glaciertools предоставляет сценарии bash, которые управляют многоэтапной загрузкой большого файла с помощью официального клиента командной строки AWS ( AWS CLI). Это полезно в том случае, если ваши данные превышают ограничение в 4 ГБ для загрузки архива за одну операцию с CLI AWS.
Для использования сценариев необходимо установить и настроить интерфейс командной строки AWS, для чего требуется Python. Ссылка содержит дополнительную информацию о настройке.
Затем вы можете создать архив вашей резервной копии и загрузить его в хранилище на леднике с помощью
> ./glacierupload -v myvault /path/to/my/archive
Более подробная информация содержится в документации там.
Попробуйте https://github.com/vsespb/mt-aws-glacier - многопоточная синхронизация Perl с Amazon Glacier с помощью простых инструкций по развертыванию CentOS.
Есть еще одно программное обеспечение, которое также называется glacier-cli ( https://github.com/basak/glacier-cli), но в python оно работает довольно хорошо.