我需要一种简单的方法从命令行将文件备份到 Amazon Glacier?

我需要一种简单的方法从命令行将文件备份到 Amazon Glacier?

我有一个 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

还有另一个软件也叫冰川-clihttps://github.com/basak/glacier-cli) 但在 Python 中它似乎运行得很好。

相关内容