laravel

Laravel Как да архивирате база данни

Laravel Как да архивирате база данни

Проблем

За съжаление, много нови разработчици на Laravel не осъзнават това, докато не пуснат кода си в производство и нещо се случва, така че те губят данните си.

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

Днес става все по-важно нещо да съхранявате и съхранявате резервните си данни, в случай че някога се наложи да ги използвате.

Често срещани грешки, които новите разработчици на Laravel правят, е да отидат на phpmyadmin и да се опитат да стартират този експорт ръчно. Въпреки че това все още ще работи, това не е най-добрата практика, защото понякога няма да сте там, за да направите резервното копие и вашите потребители вече са генерирали нови данни.

Това, което искате да направите, е да автоматизирате това.

Решение

Има много начини, по които можете да направите резервно копие на вашата база данни, но колко хора правят, е да използвате този пакет https: // github.com / spatie / laravel-backup . Компанията зад нея е много надеждна и позната в бранша.

На първо място, пакетът е БЕЗПЛАТЕН, така че не е нужно да плащате нищо.

Положителното е, че инсталацията е доста проста и това, което ми харесва по-специално, е, че не само прави резервно копие на вашата база данни, но и имате възможност да архивирате вашите файлове и след това да съхранявате всичко това в zip файл. Когато казвам файлове, имам предвид файлове за съхранение, като например качване на документи или файлове, които генерирате с приложението си.

Освен това можете да го преместите и в AWS S3, което е умно нещо. Всичко, което трябва да направите, е (ако приемете, че вече имате AWS акаунт, е да отидете и да създадете нов сегмент S3 с нови разрешения. След това можете просто да следвате документацията на тяхната страница в Github.

Ето бърз преглед на конфигурационния файл, който можете да промените, за да получавате известия чрез други носители като Slack и Email.

'известия' => [
'известия' => [
\ 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,
'поща' => [
'до' => ['редактор @ linuxhint.com '],
],
'отпуснато' => [
'webhook_url' => 'https: // куки.отпуснатост.com / services / ABMGGK7AB / B9PBCDSM8 / kam02gzLrycaUBctgAdRv52M ',
/ *
* Ако това е зададено за нула, ще се използва каналът по подразбиране на webhook.
* /
'канал' => нула,
],
],

Настройте автоматизация

И накрая, всичко това няма да има много смисъл, ако решите да пропуснете частта за автоматизация. За това искате да разчитате на cron задания, които вече трябва да са активирани на вашия хост и указател на командата за график Laravel по следния начин:

* * * * * cd / path-to-your-project && php artisan график: стартирайте >> / dev / null 2> & 1

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

if (app ('env') == 'production')
$ schedule-> command ('backup: clean') -> daily () -> at ('01: 00 ');
$ schedule-> command ('backup: run') -> daily () -> at ('02: 00 ');
Как да покажа брояч на FPS в игрите на Linux
Linux игрите получиха голям тласък, когато Valve обяви поддръжка на Linux за Steam клиент и техните игри през 2012 г. Оттогава много AAA и независими ...
Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...