自动执行Linux EBS快照备份和清理

时间:2011-08-09 21:48:19

标签: linux shell amazon-s3 amazon-web-services

是否有针对S3的EBS快照的更新shell脚本以及旧快照的清理?

我查看了SO,但大多数是从2009年开始,指的是破坏或过时的链接。

感谢。

2 个答案:

答案 0 :(得分:1)

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

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

你可以给我pull-request / fork项目来添加清理旧条目的功能。还要注意这个回购,当我发现一些时候我会更新代码以获得清理功能。

答案 1 :(得分:0)

如果可以将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项目的releases并复制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