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)
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)
更详细的信息包含在那里的文档中。
归档时间: |
|
查看次数: |
25015 次 |
最近记录: |