2016-04-25 4 views
2

Я довольно новичок в администрировании сервера. У меня есть приложение Laravel, и я хочу убедиться, что у него есть резервные копии. Я исследовал некоторые резервные пакеты, и я установил https://github.com/spatie/laravel-backup.Laravel Восстановить резервную копию

Однако, как только сервер выходит из строя, мне нужно знать, как использовать самую последнюю резервную копию (которая будет находиться на AWS S3) для восстановления базы данных на восстановленном сервере. Есть ли какие-либо предложения для руководства о том, как это сделать? Кажется, я не могу найти никого, если на самом деле это не требует много обучения и вместо этого просто пара команд mySQL.

Спасибо!

ответ

0

Я бы использовал репликацию, и в рамках Laravel я попытался бы переключиться на соединение с сервером базы данных реплик, чтобы все могло работать бесперебойно, пока проблема не будет решена.

Взгляните на эту Cross-Region Replication

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

Также при развертывании приложения laravel не так много вещей, которые стоят «резервной копии», вы можете выбрать весь диск, который будет зеркалироваться где-нибудь, или вы можете запланировать сценарий резервного копирования, который выполняется каждый раз N раз и создает резервные копии вещи, которые важнее для вашего приложения.

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


Update

Посмотрите на ссылку ниже:

User Guide » Amazon RDS DB Instance Lifecycle » Backing Up and Restoring Backing Up and Restoring

Вы можете вызвать функцию API RestoreDBInstanceFromDBSnapshot, как показано на примере.

Но я не думаю, что существует автоматическое создание, которое автоматически восстанавливает или магически заставляет все работать, вам нужно сделать много проверок безопасности, если что-то подобное попытается. Заключительное слово, я считаю, что хорошее решение, вводимое вручную или отправляющее запрос, будет самым надежным решением.

+0

Я подумал о репликации мастера-раба. Но как насчет реального процесса восстановления мастера? Это то, что я пытаюсь понять, фактический процесс восстановления главного сервера, когда он сходит. Благодаря! –

+0

@MattPierce взгляните на обновленный ответ, если вы используете, не используйте веб-службы Amazon, и вы просто используете установку MySQL, подумайте о том, чтобы использовать такие решения, такие как виртуализация и запускать экземпляры MySQL, регулярно делать снимки для сохранения новой копии, или если вы не используете виртуализацию, попробуйте просто создать резервную копию всех баз данных MySQL, когда она не удалась, устраните проблему и затем восстановите ее. Честно говоря, есть много решений, когда вы хотите добиться поддержки/восстановления баз данных и файлов. Если вы хотите быть настолько безопасным, насколько это возможно, нанять системного администратора, который обладает лучшими знаниями. – Gntem