【问题标题】:Automating Linux EBS snapshots backup and clean-up自动化 Linux EBS 快照备份和清理
【发布时间】:2011-10-23 14:56:34
【问题描述】:

是否有任何用于将 EBS 快照更新到 S3 以及清理旧快照的良好更新 shell 脚本?

我查看了 SO,但大多是 2009 年的,指的是损坏或过时的链接。

谢谢。

【问题讨论】:

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


    【解决方案1】:

    试试下面的 shell 脚本,我用它来为我的大部分项目创建快照,效果很好。

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

    你可以给我 pull-request/fork 项目来添加清理旧条目的功能。还要注意这个 repo,当我找到一些时间时,我会更新代码以具有清理功能。

    【讨论】:

      【解决方案2】:

      如果可以使用 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
        

      【讨论】:

        猜你喜欢
        • 2018-08-28
        • 1970-01-01
        • 2012-11-29
        • 2015-10-30
        • 1970-01-01
        • 2011-09-22
        • 1970-01-01
        • 2017-04-23
        • 1970-01-01
        相关资源
        最近更新 更多