laravel

Laravel Come eseguire il backup di un database

Laravel Come eseguire il backup di un database

Problema

Sfortunatamente, molti nuovi sviluppatori di Laravel non se ne rendono conto finché non mettono il loro codice in produzione e succede qualcosa che li fa perdere i dati.

Laravel non offre un backup del database come parte delle loro funzionalità principali, quindi i nuovi sviluppatori Laravel non possono lavorarci durante la lettura di articoli Laravel o la creazione di un'applicazione Laravel.

Oggi diventa una cosa sempre più importante archiviare e preservare i tuoi dati di backup nel caso in cui dovessi mai usarli.

Errori comuni che fanno i nuovi sviluppatori Laravel è andare su phpmyadmin e provare a eseguire questa esportazione manualmente. Anche se questo funzionerà ancora, non è la migliore pratica perché a volte non sarai lì per fare il backup e i tuoi utenti hanno già generato nuovi dati.

Quello che vuoi fare è automatizzarlo.

Soluzione

Esistono molti modi per eseguire il backup del database, ma quante persone utilizzano questo pacchetto https://github.com/spatie/laravel-backup . L'azienda dietro è molto affidabile e conosciuta nel settore.

Innanzitutto il pacchetto è GRATUITO, quindi non devi pagare nulla.

Tra i lati positivi, l'installazione è abbastanza semplice e quello che mi piace in particolare è che non solo esegue il backup del database, ma hai anche la possibilità di eseguire il backup dei tuoi file e quindi archiviare tutto ciò in un file zip. Quando dico file, intendo file di archiviazione, come i caricamenti di documenti o i file che generi con la tua applicazione.

Inoltre, puoi anche spostarlo su AWS S3 che è una cosa intelligente da fare. Tutto quello che devi fare è (supponendo che tu abbia già un account AWS, è andare a creare un nuovo bucket S3 con nuove autorizzazioni. Quindi puoi semplicemente seguire la documentazione sulla loro pagina Github.

Ecco una rapida anteprima del file di configurazione che puoi modificare in modo da ricevere notifiche tramite altri mezzi come Slack ed Email.

'notifiche' => [
'notifiche' => [
\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'],
],
/*
* Qui puoi specificare il notificante a cui devono essere inviate le notifiche. Il predefinito
* notificabile utilizzerà le variabili specificate in questo file di configurazione.
*/
'notificabile' => \Spatie\Backup\Notifiche\Notificabile::class,
'posta' => [
'to' => ['[email protected]'],
],
'allentato' => [
'webhook_url' => 'https://hooks.allentato.com/services/ABMGGK7AB/B9PBCDSM8/kam02gzLrycaUBctgAdRv52M',
/*
* Se questo è impostato su null, verrà utilizzato il canale predefinito del webhook.
*/
'canale' => null,
],
],

Configura l'automazione

Infine, tutto questo non avrebbe molto senso se decidessi di saltare la parte di automazione. Per questo, vuoi fare affidamento su lavori cron che dovrebbero già essere abilitati sul tuo host e puntatore al comando di pianificazione Laravel in questo modo:

* * * * * cd /percorso-del-tuo-progetto && php craft schedule:run >> /dev/null 2>&1

Da qui, nella tua app/Console/Kernel.php dovresti fare quanto segue se vuoi automatizzarlo in un momento particolare (di solito lo faccio quando la maggior parte dei nostri utenti dorme):

if (app('env') == 'produzione')
$schedule->command('backup:clean')->daily()->at('01:00');
$schedule->command('backup:run')->daily()->at('02:00');
Installa l'ultimo gioco di strategia OpenRA su Ubuntu Linux
OpenRA è un motore di gioco di strategia in tempo reale gratuito/libero che ricrea i primi giochi di Westwood come il classico Command & Conquer: Red ...
Installa l'ultimo Dolphin Emulator per Gamecube e Wii su Linux
L'emulatore Dolphin ti consente di giocare ai giochi Gamecube e Wii scelti su Personal Computer Linux (PC). Essendo un emulatore di giochi liberament...
Come utilizzare GameConqueror Cheat Engine in Linux
L'articolo copre una guida sull'utilizzo del motore cheat GameConqueror in Linux. Molti utenti che giocano su Windows utilizzano spesso l'applicazione...