偶尔我会去http://aws.amazon.com/console并手动右键单击我的EBS卷并创build一个快照。
这是一种乏味,有时我会忘记。 是否可以自动执行此操作,并说每天或每周制作快照?
我正在使用Windows Server实例。
使用AMI工具:
作为命令行工具的替代品,您可以使用我开发的PHP脚本。 设置起来比较简单,因为您甚至不需要写一行代码,也不需要设置环境。
这个脚本不仅可以自动创build快照,还可以在一段时间后删除旧的快照。
导航到文件夹
$ 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.zipbutton的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";
testing它。 运行这个脚本
$ ./backup.php
检查是否创build了快照。
如果一切正常,只需添加cronjob。 我每天23:00运行它。 因为我使用间隔24 hours 。 如果设置更短的时间间隔,则考虑更频繁地触发cronjob。 你甚至可以每5分钟设置一次。 它只会以给定的时间间隔创build新的快照。
* 23 * * * /usr/local/ec2/backup.php