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

Iva*_*van 20 backup command-line ruby amazon-glacier

我有一个在线 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
Run Code Online (Sandbox Code Playgroud)

我看到了这个: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]#
Run Code Online (Sandbox Code Playgroud)

是否有 ruby​​(优选)或 python 或其他语言(不太可取)amazon Glacier 命令行客户端?)

dot*_*hen 11

通过 Python 与 AWS 交互的规范库是Boto。尽管它旨在用作 Python 脚本中的库,但它足够简单,可以独立使用。您可以浏览精美的文档此页面概述了如何使用 Boto,但以下是重要部分:

将您的 AWS 凭证放入~/.boto

[Credentials]
aws_access_key_id = FOO
aws_secret_access_key = BAR
Run Code Online (Sandbox Code Playgroud)

列出您的保险库:

$ glacier vaults
Run Code Online (Sandbox Code Playgroud)

上传一个文件:

$ glacier upload foo-vault foo.zip
Run Code Online (Sandbox Code Playgroud)

列出特定保管库上的待处理作业:

$ glacier jobs foo-vault
Run Code Online (Sandbox Code Playgroud)

虽然它确实并不比 Boto 本身更容易使用,但Amazon Glacier CLI 界面基于 Boto,实际上是为最终用户设计的。是一个教程。

最后,官方的AWS-CLI相当容易使用。放入凭据~/.aws/credentials然后只需使用以下命令:

创建保管库:

$ aws glacier create-vault --account-id - --vault-name foo-vault
Run Code Online (Sandbox Code Playgroud)

上传文件:

$ aws glacier upload-archive --account-id - --vault-name foo-vault --body foo.zip
Run Code Online (Sandbox Code Playgroud)


use*_*520 5

github.com/numblr/glaciertools提供了 bash 脚本,这些脚本使用官方 AWS 命令​​行客户端 ( AWS CLI )编排大文件的多部分上传。这在您的数据超过 4GB 限制的情况下非常有用,可在使用 AWS CLI 的单个操作中上传档案。

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

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

> ./glacierupload -v myvault /path/to/my/archive
Run Code Online (Sandbox Code Playgroud)

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


Kar*_*ner 3

还有另一个软件也名为glacier-cli ( https://github.com/basak/glacier-cli ),但在 python 中似乎运行得很好。