我有一个 CentOS 在线服务器,里面有一个 cPmove 文件目录,我需要将其备份到 Amazon Glacier。我只能通过命令行访问,没有 GUI。
我需要一个相对容易使用的命令行客户端来上传文件。例如,我之前使用过 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,而且由于最近出现的所有安全问题,我有点犹豫是否要安装它。
我确实有 python 和 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]#
是否有 ruby(优先)或 python 或其他语言(次优先)的 amazon glacier 命令行客户端?)
答案1
通过 Python 与 AWS 交互的规范库是波图。虽然它旨在用作 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
虽然它确实不比 Boto 本身更容易使用,Amazon Glacier CLI 接口基于 Boto 并且实际上是为最终用户设计的。这里是一个它的教程。
最后官方AWS 命令行界面相当容易使用。放入凭证然后~/.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
答案2
github.com/numblr/glaciertools提供 bash 脚本,使用官方 AWS 命令行客户端 (AWS CLI)。当您的数据超出使用 AWS CLI 一次操作上传档案的 4GB 限制时,此功能非常有用。
要使用脚本,您需要安装并设置 AWS CLI,这需要 Python。链接包含有关设置的其他信息。
然后,您可以创建备份档案,并将其上传到 glacier 上的保管库中
> ./glacierupload -v myvault /path/to/my/archive
更详细信息请参阅文档那里。
答案3
尝试vsespb/mt-aws-glacier– Perl 多线程多部分同步到 Amazon Glacier,并提供针对 CentOS 的简单部署说明。
答案4
还有另一个软件也叫冰川-cli(https://github.com/basak/glacier-cli) 但在 Python 中它似乎运行得很好。