Назад | Перейти на главную страницу

Автоматизировать создание снимков Amazon EBS?

Время от времени я заходил в http://aws.amazon.com/console и вручную щелкните правой кнопкой мыши мой том EBS и создайте снимок.

Это довольно утомительно, и я иногда забываю. Можно ли автоматизировать эти действия и, скажем, делать ежедневный или еженедельный снимок?

Я использую экземпляр Windows Server.

Используйте инструменты AMI:

В качестве альтернативы инструментам командной строки вы можете использовать разработанный мной PHP скрипт. Его проще настроить, так как вам не нужно писать даже строчку кода, и вам не нужно настраивать среду.

Этот сценарий не только автоматически создает снимки, но и может удалять старые снимки по истечении заданного периода времени.

Как настроить

  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. открыто релизы проекта github AWS PHP SDK и скопируйте URL-адрес aws.zip кнопка. Теперь загрузите его на свой сервер.

    $ 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:00. потому что я использую интервал 24 hours. Если вы устанавливаете более короткий интервал, подумайте о том, чтобы запускать cronjob чаще. Вы даже можете установить его каждые 5 минут. В любом случае он создаст новый снимок только с заданным интервалом.

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