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


19

我有一个在线CentOS服务器,其中包含我需要备份到Amazon Glacier的cPmove文件目录。我只有命令行访问权限,没有GUI。

我需要一个相对易于使用的命令行客户端来上传文件。例如,我之前(https://github.com/andreafabrizi/Dropbox-Uploader)使用了dropbox_uploader.sh 和以下简单的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命令行客户端?)


抱歉,我没有深入研究Glacier,我认为您可以正常使用ssh访问。答案已删除。
terdon

从那以后,我发现可以使用ruby的fog gem上传到s3。然后,从s3的aws管理控制台中,我可以设置过期策略并将文件存档到冰川。作品。另外,fog直接支持Glacier,但我尚未对此进行研究。对于任何好奇的人,这是我上传到s3的ruby脚本:gist.github.com/ivanoats/4712421
Ivan

Answers:


9

通过Python与AWS接口的规范库是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

尽管使用它确实并不比Boto容易,但是Amazon Glacier CLI接口基于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

1
有趣的是,您的步骤upload-archive甚至还没有在docs.aws.amazon.com/cli/latest/userguide/…的
次要

仅当保管库位于boto的默认区域(us-east-1)时,这些说明才有效。否则,您需要指定区域。例如,如果您的保管库位于CA中,则命令应为 aws glacier vaults --region us-west-1
foob​​arbecue



3

github.com/numblr/glaciertools提供了bash脚本,这些脚本使用官方的AWS命令行客户端(AWS CLI)协调大型文件的多部分上传。当您的数据超过4GB限制(使用AWS CLI在单个操作中上载档案)时,这很有用。

要使用脚本,您需要安装和设置AWS CLI,这需要python。该链接包含有关设置的其他信息。

然后,您可以创建备份的存档,并将其上传到冰川上的Vault

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

更详细的信息包含在该文档中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.