laravel

Laravel So sichern Sie eine Datenbank

Laravel So sichern Sie eine Datenbank

Problem

Leider merken viele neue Laravel-Entwickler dies erst, wenn sie ihren Code in Produktion bringen und etwas passiert, sodass sie ihre Daten verlieren lose.

Laravel bietet kein Datenbank-Backup als Teil seiner Kernfunktionalität, so dass neue Laravel-Entwickler nicht damit arbeiten können, während sie Laravel-Artikel lesen oder eine Laravel-Anwendung erstellen.

Heutzutage wird es immer wichtiger, Ihre Backup-Daten zu speichern und aufzubewahren, falls Sie sie jemals verwenden müssen.

Häufige Fehler, die neue Laravel-Entwickler machen, ist, zu phpmyadmin zu gehen und zu versuchen, diesen Export manuell auszuführen. Dies funktioniert zwar weiterhin, ist jedoch nicht die beste Vorgehensweise, da Sie manchmal nicht vor Ort sind, um das Backup zu erstellen, und Ihre Benutzer bereits neue Daten generiert haben.

Was Sie tun möchten, ist, das zu automatisieren.

Lösung

Es gibt viele Möglichkeiten, Ihre Datenbank zu sichern, aber wie viele Personen verwenden dieses Paket https://github.com/spatie/laravel-backup . Das Unternehmen dahinter ist sehr zuverlässig und in der Branche bekannt.

Zunächst einmal ist das Paket KOSTENLOS, Sie müssen also nichts bezahlen.

Auf der anderen Seite ist die Installation recht einfach und was mir besonders gefällt ist, dass sie nicht nur Ihre Datenbank-Sicherung macht, sondern auch die Möglichkeit hat, Ihre Dateien zu sichern und dann alles in einer ZIP-Datei zu speichern. Wenn ich von Dateien spreche, meine ich Speicherdateien, wie z. B. Dokumenten-Uploads oder Dateien, die Sie mit Ihrer Bewerbung generieren generate.

Darüber hinaus können Sie dies auch auf AWS S3 verschieben, was eine kluge Sache ist. Alles, was Sie tun müssen, ist (vorausgesetzt, Sie haben bereits ein AWS-Konto, erstellen Sie einen neuen S3-Bucket mit neuen Berechtigungen .). Dann können Sie einfach der Dokumentation auf ihrer Github-Seite folgen.

Hier ist eine kurze Vorschau der Konfigurationsdatei, die Sie optimieren können, damit Sie Benachrichtigungen über andere Medien wie Slack und E-Mail erhalten.

'Benachrichtigungen' => [
'Benachrichtigungen' => [
\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'],
],
/*
* Hier können Sie den Benachrichtigungspflichtigen angeben, an den die Benachrichtigungen gesendet werden sollen. Der Standard
* notifyable verwendet die in dieser Konfigurationsdatei angegebenen Variablen variables.
*/
'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
'mail' => [
'to' => ['[email protected]'],
],
'schlaff' => [
'webhook_url' => 'https://hooks.locker.com/services/ABMGGK7AB/B9PBCDSM8/kam02gzLrycaUBctgAdRv52M',
/*
* Wenn dies auf null gesetzt ist, wird der Standardkanal des Webhooks verwendet.
*/
'Kanal' => null,
],
],

Automatisierung einrichten

Schließlich würde all dies nicht viel Sinn machen, wenn Sie sich entscheiden würden, den Automatisierungsteil zu überspringen. Dafür möchten Sie sich auf Cron-Jobs verlassen, die bereits auf Ihrem Host aktiviert sein sollten und wie folgt auf den Laravel-Schedule-Befehl verweisen:

* * * * * cd /Pfad-zu-Ihrem-Projekt && php Handwerker-Zeitplan: Ausführen >> /dev/null 2>&1

Von hier aus in Ihrer App/Konsole/Kernel.php-Datei sollten Sie Folgendes tun, wenn Sie sie zu einem bestimmten Zeitpunkt automatisieren möchten (ich mache dies normalerweise, wenn die meisten unserer Benutzer schlafen):

if (app('env') == 'Produktion')
$schedule->command('backup:clean')->daily()->at('01:00');
$schedule->command('backup:run')->daily()->at('02:00');
AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...