偶尔我会去http://aws.amazon.com/console并手动右键单击我的 EBS 卷并创建快照。
这有点繁琐,有时我会忘记。是否可以自动执行此操作,例如制作每日或每周快照?
我正在使用 Windows Server 实例。
答案1
答案2
作为命令行工具的替代方案,您可以使用我开发的 PHP 脚本。它更容易设置,因为您甚至不需要编写一行代码,也不需要设置环境。
该脚本不仅可以自动创建快照,还可以在给定的时间段后删除旧快照。
如何设置
- 打开到您的服务器的 SSH 连接。
导航至文件夹
$ 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 项目并复制
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:00 运行它。因为我使用间隔
24 hours
。如果您设置的间隔较短,请考虑更频繁地触发 cronjob。您甚至可以每 5 分钟设置一次。无论如何,它只会在给定的间隔内创建新快照。* 23 * * * /usr/local/ec2/backup.php