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

Какой самый простой способ автоматического резервного копирования экземпляра EC2?

Возможный дубликат:
Какой самый простой способ автоматически создавать резервные копии инстансов EC2?

У меня есть инстанс Amazon EC2 с поддержкой EBS. Я хотел бы создать ежедневное расписание резервного копирования и хранить, скажем, недельное ежедневное резервное копирование, а также несколько старых образов (2,3,4 недели назад). Я не возражаю против создания резервных копий на лету с помощью механизма моментальных снимков, но мне нужна простая оболочка, которая бы управляла им за меня.

Как это сделать проще всего? Во сколько мне это будет стоить для микро-экземпляра?

Я предлагаю попробовать мой инструмент «ec2-automate-backup» и запустить его под cron. Вы бы запустили команду следующим образом ec2-automate-backup -v your_volumeid -k 7 -p. Параметры здесь указывают инструменту: какие тома для резервного копирования (-v your_volumeid), сколько дней вы хотите хранить резервные копии (-k 7) и очищать старые тома (-p). Инструмент находится в свободном доступе и с открытым исходным кодом.

Если вам нужно создать резервную копию более одного тома, вы должны «пометить» каждый том с помощью тегов AWS, а затем выполнить следующее: ec2-automate-backup -s tag -t "Backup=your_tag" -k 7 -p. Возможные варианты: -s тег (-s тег сообщает ec2-automate-backup для выбора томов для резервного копирования по тегу) и -t «Backup = your_tag» сообщает ec2-automate-backup для резервного копирования томов с тегом your_tag.

ec2-automate-backup является частью AWS-Missing-Tools, доступного по адресу http://awsmissingtools.com

У меня есть весь код моего приложения, db, файлы конфигурации и журнала, которые находятся на отдельном томе EBS, который я монтирую на / dev / sdf. Вы можете создать начальный снимок этого, а затем подключить его к своей операционной системе во время выполнения. Моя ami просто содержит все необходимое для автозапуска среды.

ec2-run-instances ami-id <other options> --block-device-mapping '/dev/sdf=snap-id::false'

Созданный при этом том можно легко создать резервную копию с помощью crontab и ec2-create-snapshot или чего-то еще. ec2-description-snapshot дает дату создания снимка, поэтому его можно использовать с awk или чем-то еще, чтобы выяснить, какой из них удалить. Хотя моментальные снимки записывают только изменения между версиями, поэтому после первой они на самом деле не занимают слишком много места.

Я создал небольшой сценарий-оболочку, который выполняет следующие действия:

- выгружает БД (небольшая, занимает секунды)

-создает архив, но только разницу между вчера и сегодня или полную резервную копию, если день воскресенье

-invokes hg addremove && hg commit on / etc и webroot (игнорировать файл довольно умен)

-загружает ранее созданные файлы в S3

Это не полная резервная копия, поскольку она исключает операционную систему. Но поскольку все мои файлы конфигурации сохранены, мне все равно. Это экономичный способ убедиться, что все доступно, даже история некоторых вещей, таких как база данных.

Надеюсь, это поможет.

Вот короткий скрипт на Python Я создал то, что заботится об обслуживании (удаление старых резервных копий и т. Д.)