ларавел

Laravel Как сделать резервную копию базы данных

Laravel Как сделать резервную копию базы данных

Проблема

К сожалению, многие новые разработчики Laravel не осознают этого, пока не запустят свой код в производство, и что-то происходит, поэтому они теряют свои данные.

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

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

Распространенные ошибки новых разработчиков Laravel - это зайти на phpmyadmin и попытаться запустить этот экспорт вручную. Хотя это по-прежнему будет работать, это не лучшая практика, потому что иногда вас не будет там, чтобы сделать резервную копию, а ваши пользователи уже создали новые данные.

Что вы хотите сделать, так это автоматизировать это.

Решение

Есть много способов сделать резервную копию своей базы данных, но сколько людей используют этот пакет https: // github.com / spatie / laravel-резервное копирование . Компания, стоящая за этим, очень надежна и известна в отрасли.

Во-первых, пакет БЕСПЛАТНЫЙ, поэтому вам не нужно ничего платить.

С другой стороны, установка довольно проста, и что мне особенно нравится, так это то, что она не только выполняет резервное копирование вашей базы данных, у вас также есть возможность резервного копирования ваших файлов, а затем сохранения всего этого в zip-файле. Когда я говорю файлы, я имею в виду файлы хранилища, такие как загружаемые документы или файлы, которые вы создаете с помощью своего приложения.

Кроме того, вы также можете перенести это на AWS S3, что является разумным решением. Все, что вам нужно сделать, это (при условии, что у вас уже есть учетная запись AWS, это создать новую корзину S3 с новыми разрешениями. Тогда вы можете просто следовать документации на их странице Github.

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

'notifications' => [
'notifications' => [
\ Spatie \ Backup \ Notifications \ Notifications \ BackupHasFailed :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ UnhealthyBackupWasFound :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ CleanupHasFailed :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ BackupWasSuccessful :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ HealthyBackupWasFound :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ CleanupWasSuccessful :: class => ['mail', 'slack'],
],
/ *
* Здесь вы можете указать уведомляемого, которому следует отправлять уведомления. По умолчанию
* notifiable будет использовать переменные, указанные в этом файле конфигурации.
* /
'notifiable' => \ Spatie \ Backup \ Notifications \ Notifiable :: class,
'mail' => [
'to' => ['редактор @ linuxhint.com '],
],
'слабина' => [
'webhook_url' => 'https: // перехватчики.слабина.ru / services / ABMGGK7AB / B9PBCDSM8 / kam02gzLrycaUBctgAdRv52M ',
/ *
* Если установлено значение null, будет использоваться канал веб-перехватчика по умолчанию.
* /
'канал' => ноль,
],
],

Настроить автоматизацию

Наконец, все это не имело бы особого смысла, если бы вы решили пропустить часть автоматизации. Для этого вы хотите полагаться на задания cron, которые уже должны быть включены на вашем хосте, и указатель на команду расписания Laravel следующим образом:

* * * * * cd / path-to-your-project && php artisan schedule: run >> / dev / null 2> & 1

Отсюда в вашем приложении / консоли / ядре.php, вы должны сделать следующее, если хотите автоматизировать его в определенное время (я обычно делаю это, когда большинство наших пользователей спят):

if (app ('env') == 'production')
$ schedule-> command ('backup: clean') -> daily () -> в ('01: 00 ');
$ schedule-> command ('backup: run') -> daily () -> в ('02: 00 ');
Как изменить левую и правую кнопки мыши на ПК с Windows 10
Совершенно нормально, что все устройства компьютерной мыши эргономичны для правшей. Но есть мышиные устройства, специально разработанные для левшей ил...
Эмуляция щелчков мыши с помощью мыши без щелчка в Windows 10
Использование мыши или клавиатуры в неправильной позе или чрезмерное использование может привести к множеству проблем со здоровьем, включая растяжение...
Добавьте жесты мыши в Windows 10 с помощью этих бесплатных инструментов
В последние годы компьютеры и операционные системы сильно эволюционировали. Было время, когда пользователям приходилось использовать команды для навиг...