laravel

Laravel Hogyan készítsünk biztonsági másolatot egy adatbázisról

Laravel Hogyan készítsünk biztonsági másolatot egy adatbázisról

Probléma

Sajnos sok új Laravel fejlesztő ezt nem veszi észre, amíg be nem adják a kódot a termelésbe, és történik valami, így elveszítik adataikat.

A Laravel nem kínál adatbázis-mentést az alapvető funkcionalitás részeként, így az új Laravel-fejlesztők nem fognak ezzel dolgozni Laravel-cikkek olvasása vagy egy Laravel-alkalmazás építése közben.

Ma egyre fontosabb dolog lesz a biztonsági mentési adatok tárolása és megőrzése arra az esetre, ha valaha is használni kellene őket.

Az új Laravel fejlesztők által elkövetett gyakori hibák az, hogy a phpmyadmin oldalra lépnek, és megpróbálják manuálisan futtatni ezt az exportálást. Bár ez továbbra is működni fog, ez nem a legjobb gyakorlat, mert néha nem leszel ott, hogy készítsen biztonsági másolatot, és a felhasználók már létrehoztak új adatokat.

Amit tenni szeretne, az ennek automatizálása.

Megoldás

Számos módon megteheti az adatbázis biztonsági mentését, de hány ember használja ezt a csomagot: https: // github.com / spatie / laravel-backup . A mögötte álló vállalat nagyon megbízható és ismert az iparban.

Először is, a csomag INGYENES, így semmit sem kell fizetnie.

Pozitívum, hogy a telepítés meglehetősen egyszerű, és ami különösen tetszik, hogy nemcsak az adatbázisról készít biztonsági másolatot, hanem lehetősége van biztonsági másolatot készíteni a fájlokról, majd mindezt egy zip fájlban tárolni. Ha fájlokat mondok, akkor a tárfájlokat értem, például a dokumentumfeltöltéseket vagy az alkalmazással létrehozott fájlokat.

Ezen felül áthelyezheti az AWS S3-ra is, ami okos dolog. Mindössze annyit kell tennie, hogy (feltéve, hogy már rendelkezik AWS-fiókkal, el kell készítenie egy új S3 vödröt új engedélyekkel. Ezután csak kövesse a Github oldalán található dokumentációt.

Itt van egy gyors előnézet a konfigurációs fájlról, amelyet módosíthat, hogy értesítéseket kapjon más médiumokon keresztül, például a Slack és az Email segítségével.

'értesítések' => [
'értesítések' => [
\ Spatie \ Backup \ Notifications \ Notifications \ BackupHasFailed :: class => ['mail', 'laza'],
\ Spatie \ Backup \ Notifications \ Notifications \ UnhealthyBackupWasFound :: class => ['mail', 'laza'],
\ Spatie \ Backup \ Notifications \ Notifications \ CleanupHasFailed :: class => ['mail', 'laza'],
\ Spatie \ Backup \ Notifications \ Notifications \ BackupWasSuccessful :: class => ['mail', 'laza'],
\ Spatie \ Backup \ Notifications \ Notifications \ HealthyBackupWasFound :: class => ['mail', 'laza'],
\ Spatie \ Backup \ Notifications \ Notifications \ CleanupWasSuccessful :: class => ['mail', 'laza'],
],
/ *
* Itt megadhatja azt a bejelentendő személyt, amelyre az értesítéseket el kell küldeni. Az alapértelmezett
A * notifiable az ebben a konfigurációs fájlban megadott változókat használja.
* /
'notifiable' => \ Spatie \ Backup \ Notifications \ Notifiable :: osztály,
'mail' => [
'to' => ['szerkesztő @ linuxhint.com '],
],
'laza' => [
'webhook_url' => 'https: // horgok.laza.com / services / ABMGGK7AB / B9PBCDSM8 / kam02gzLrycaUBctgAdRv52M ”,
/ *
* Ha ez nullára van állítva, akkor a webhook alapértelmezett csatornáját kell használni.
* /
'csatorna' => null,
],
],

Automatizálás beállítása

Végül mindennek nem lenne sok értelme, ha úgy döntene, hogy kihagyja az automatizálási részt. Ehhez olyan cron-feladatokra kíván támaszkodni, amelyeket már engedélyezni kell a gazdagépen, és a Laravel-ütemezés parancsra mutat így:

* * * * * cd / path-to-your-project && php kézműves ütemezés: run >> / dev / null 2> & 1

Innen az alkalmazásban / konzolon / kernelben.php fájl, akkor tegye a következőket, ha egy adott időpontban szeretné automatizálni (ezt általában akkor csinálom, amikor a legtöbb felhasználó alszik):

if (app ('env') == 'produkció')
$ schedule-> command ('backup: clean') -> daily () -> at ('01: 00 ');
$ schedule-> command ('backup: run') -> daily () -> at ('02: 00 ');
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...
Az egér középső gombja nem működik a Windows 10 rendszerben
A középső egérgomb segít átgörgetni a hosszú weboldalakat és a sok adatot tartalmazó képernyőket. Ha ez leáll, akkor a billentyűzet segítségével görge...
Hogyan lehet megváltoztatni a bal és jobb egérgombokat a Windows 10 PC-n
Elég általános, hogy az összes számítógépes egéreszközt ergonómikusan a jobbkezes felhasználók számára tervezték. De vannak olyan egéreszközök, amelye...