Время от времени я заходил в http://aws.amazon.com/console и вручную щелкните правой кнопкой мыши мой том EBS и создайте снимок.
Это довольно утомительно, и я иногда забываю. Можно ли автоматизировать эти действия и, скажем, делать ежедневный или еженедельный снимок?
Я использую экземпляр Windows Server.
Используйте инструменты AMI:
В качестве альтернативы инструментам командной строки вы можете использовать разработанный мной PHP скрипт. Его проще настроить, так как вам не нужно писать даже строчку кода, и вам не нужно настраивать среду.
Этот сценарий не только автоматически создает снимки, но и может удалять старые снимки по истечении заданного периода времени.
Перейти в папку
$ cd /usr/local/
Клонировать эту суть в ec2
папка
$ git clone https://gist.github.com/9738785.git ec2
Перейти в эту папку
$ cd ec2
Делать backup.php
исполняемый файл
$ chmod +x backup.php
открыто релизы проекта github AWS PHP SDK и скопируйте URL-адрес aws.zip
кнопка. Теперь загрузите его на свой сервер.
$ 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