自动化Linux EBS快照备份和清理

有没有更好的更新EBS快照的shell脚本到S3,并清理旧的快照?

我通过SO浏览,但大多是从2009年,指的是断开或过时的链接。

谢谢。

尝试下面的shell脚本,我使用它来为我的大部分项目创建快照,并且运行良好。

https://github.com/rakesh-sankar/Tools/blob/master/AmazonAWS/EBS/EBS-Snapshot.sh

你可以给我拉请求/分叉项目添加清理旧条目的功能。 另外注意这个回购,当我找到一些时间,我会更新代码有清理功能。

如果可以使用PHP作为shel脚本,则可以使用最新的脚本和最新的AWS PHP SDK。 这很简单,因为你不需要设置环境。 只需提供脚本您的API密钥。

如何设置

  1. 打开SSH连接到您的服务器。
  2. 导航到文件夹

    $ cd /usr/local/ 
  3. 克隆这个要点到ec2文件夹

     $ git clone https://gist.github.com/9738785.git ec2 
  4. 去那个文件夹

     $ cd ec2 
  5. 使backup.php可执行

     $ chmod +x backup.php 
  6. 打开AWS PHP SDK github项目的版本并复制aws.zip按钮的URL。 现在下载到您的服务器。

     $ wget https://github.com/aws/aws-sdk-php/releases/download/2.6.0/aws.zip 
  7. 解压这个文件到aws目录。

     $ unzip aws.zip -d aws 
  8. 编辑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"; 
  9. 测试它。 运行这个脚本

     $ ./backup.php 

    测试是创建快照。

  10. 如果一切正常,只需添加cronjob。

     * 23 * * * /usr/local/ec2/backup.php