自动执行Amazon EBS快照创build?

偶尔我会去http://aws.amazon.com/console并手动右键单击我的EBS卷并创build一个快照

这是一种乏味,有时我会忘记。 是否可以自动执行此操作,并说每天或每周制作快照?

我正在使用Windows Server实例。

使用AMI工具:

  • 安装AMI工具
  • 创build快照

作为命令行工具的替代品,您可以使用我开发的PHP脚本。 设置起来比较简单,因为您甚至不需要写一行代码,也不需要设置环境。

这个脚本不仅可以自动创build快照,还可以在一段时间后删除旧的快照。

如何设置

  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.zipbutton的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. testing它。 运行这个脚本

     $ ./backup.php 

    检查是否创build了快照。

  10. 如果一切正常,只需添加cronjob。 我每天23:00运行它。 因为我使用间隔24 hours 。 如果设置更短的时间间隔,则考虑更频繁地触发cronjob。 你甚至可以每5分钟设置一次。 它只会以给定的时间间隔创build新的快照。

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