Как настроить автоматическое создание резервных копий диска
При пользовании AWS EC2, я обнаружил, что там нет готового интерфейса, для создания резервных копий диска, которые в AWS называются Snapshot.Я начал свое исследование, как настроить автоматическое обновление. Перечитал много материала, и пришел к выводу, что простого решения нет. Нужно много прочитать документации что бы все настроить. Я понимаю что без этого ни куда. Чтение доков, это большая часть жизни как разработчика так и администратора. Но иногда, все может быть гораздо проще, и не нужно тратить много времени на то, что можно сделать всего за несколько минут.
Предлагаю свой вариант настроки в 10 шагов, без установки и настроки AWS Command Line Tools.
Предполагается что команды git и wget доступны.
Шаг 1Открываем SSH и переходим в папку. $ cd /usr/local/ Шаг 2 Копируем готовый код, который я создал и который находится на гитхабе в папку ec2. $ git clone https://gist.github.com/9738785.git ec2 Шаг 3 И переходим в эту папку. $ cd ec2 Шаг 4 Делаем файл backup.php исполняемым. $ chmod +x backup.php Шаг 5 Теперь надо открыть страницу релизов AWS PHP SDK на github, скопировать ссылку последнего релиза на зеленой кнопке скачать. И теперь скачиваем его на диск. $ wget https://github.com/aws/aws-sdk-php/releases/download/2.6.0/aws.zip Шаг 6 Распакуйте архив в папку aws. $ unzip aws.zip -d aws Шаг 7 Отредактируйте файл backup.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»; Думаю что настройки понятны всем. Обязательно нужно указать регион. Если у вас несколько дисков, то можно их всех добавить в массив.
Шаг 8 Давайте проверим как он работает. $ ./backup.php Шаг 9 Откройте панель управления AWS и убедитесь что Snapshot был создан.Шаг 10 Добавте задачу в крон. Причем не важно как часто она будет исполняться. Даже если вы поставите ее один раз в минуту, то создаваться snapshot будет только по указоному времени в настройках. Но естественно если в настройках вы указали 12 hours, а задачу крон поставили раз в 24 часа, то это не будет работать. Нужно убедиться, что задача крона срабатывает соответственно настройкам. Для моего примера раз в 24 часа достаточно. * 23 * * * /usr/local/ec2/backup.php