【发布时间】:2011-10-23 14:56:34
【问题描述】:
是否有任何用于将 EBS 快照更新到 S3 以及清理旧快照的良好更新 shell 脚本?
我查看了 SO,但大多是 2009 年的,指的是损坏或过时的链接。
谢谢。
【问题讨论】:
标签: linux shell amazon-s3 amazon-web-services
是否有任何用于将 EBS 快照更新到 S3 以及清理旧快照的良好更新 shell 脚本?
我查看了 SO,但大多是 2009 年的,指的是损坏或过时的链接。
谢谢。
【问题讨论】:
标签: linux shell amazon-s3 amazon-web-services
试试下面的 shell 脚本,我用它来为我的大部分项目创建快照,效果很好。
https://github.com/rakesh-sankar/Tools/blob/master/AmazonAWS/EBS/EBS-Snapshot.sh
你可以给我 pull-request/fork 项目来添加清理旧条目的功能。还要注意这个 repo,当我找到一些时间时,我会更新代码以具有清理功能。
【讨论】:
如果可以使用 PHP 作为 Shel 脚本,您可以使用我最新的脚本和最新的 AWS PHP SDK。这要简单得多,因为您不需要设置环境。只需为您的 API 密钥提供脚本即可。
导航到文件夹
$ cd /usr/local/
将此要点克隆到 ec2 文件夹中
$ git clone https://gist.github.com/9738785.git ec2
转到那个文件夹
$ cd ec2
使backup.php 可执行
$ chmod +x backup.php
打开 AWS PHP SDK github 项目的 releases 并复制 aws.zip 按钮的 URL。现在将其下载到您的服务器中。
$ wget https://github.com/aws/aws-sdk-php/releases/download/2.6.0/aws.zip
将此文件解压到aws目录中。
$ unzip aws.zip -d aws
编辑backup.php php 文件并在5-12 行中设置所有设置
$dryrun = FALSE;
$interval = '24 hours';
$keep_for = '10 Days';
$volumes = array('vol-********');
$api_key = '*********************';
$api_secret = '****************************************';
$ec2_region = 'us-east-1';
$snap_descr = "Daily backup";
测试一下。运行此脚本
$ ./backup.php
已创建测试快照。
如果一切正常,只需添加 cronjob。
* 23 * * * /usr/local/ec2/backup.php
【讨论】: