So erstellen Sie ein Backup der Laravel-Anwendung
Möchten Sie ein Backup der Laravel-Anwendung erstellen oder planen? Die Sicherung der Laravel-Datenbank und des Dateisystems ist immer eine gute Idee. Sie sollten Ihr Backup jederzeit parat haben, wenn mit Ihrem Server oder Ihrer Anwendung etwas schief geht. In diesem Artikel untersuchen wir, wie Sie ein Backup der Laravel-Anwendung mit der Datenbank erstellen.
Wenn Sie eine WordPress-Website betreiben, gibt es Plugins wie Updraftplus, mit denen wir Backups auf dem Server oder in der Cloud speichern können. Aber wenn es um Laravel geht, gibt es kein Konzept wie ein Plugin. In Laravel müssen wir Bibliotheken installieren und konfigurieren.
Spatie hat ein Paket namens laravel-backup entwickelt, das zum Speichern von Laravel-Backups nützlich ist. Dieses Paket bietet auch eine Option, mit der Sie Ihren Backup-Prozess planen können.
Lassen Sie uns jedoch einen Blick darauf werfen, wie Sie ein Backup der Laravel-Anwendung mit der Datenbank erstellen.
Einstieg
Die neueste Version dieses Pakets erfordert PHP 7.2 oder höher mit dem ZIP-Modul und Laravel 5.7 oder höher. Wenn Sie die alte Version von Laravel verwenden, sind Version 5 und Version 4 dieses Pakets verfügbar.
Für dieses Tutorial verwenden wir die neueste Version dieser Bibliothek. Zuerst müssen Sie das Paket installieren, indem Sie den folgenden Befehl ausführen:
composer require spatie/laravel-backup
Nachdem Sie das Paket installiert haben, führen Sie den nächsten Befehl unten aus, der die Konfigurationsdatei in config/backup.php
.
php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"
Gehen Sie zu Ihrem Konfigurationsverzeichnis und öffnen Sie das backup.php
im Editor.
<?php
return [
.......
'source' => [
'files' => [
/*
* The list of directories and files that will be included in the backup.
*/
'include' => [
base_path(),
],
/*
* These directories and files will be excluded from the backup.
*
* Directories used by the backup process will automatically be excluded.
*/
'exclude' => [
base_path('vendor'),
base_path('node_modules'),
],
/*
* Determines if symlinks should be followed.
*/
'followLinks' => false,
],
.......
'destination' => [
/*
* The filename prefix used for the backup zip file.
*/
'filename_prefix' => 'GIVE_PREFIX_HERE',
/*
* The disk names on which the backups will be stored.
*/
'disks' => [
'local',
],
],
],
......
/*
* Here you can specify the notifiable to which the notifications should be sent. The default
* notifiable will use the variables specified in this config file.
*/
'notifiable' => SpatieBackupNotificationsNotifiable::class,
'mail' => [
'to' => 'YOUR_EMAIL_ADDRESS',
],
......
In dieser Datei müssen Sie 2 Platzhalter GIVE_PREFIX_HERE und YOUR_EMAIL_ADDRESS ersetzen. Für das GIVE_PREFIX_HERE können Sie ein beliebiges Präfix wie Ihren Projektnamen angeben. Dies ist nur ein Präfixname für die ZIP-Datei des Backups.
Ein Benutzer kann auch die Verzeichnisse für die Sicherung ein- und ausschließen. Für das Include haben wir den Wert base_path() übergeben und für die Exclude-Option sind base_path(‘vendor’), base_path(‘node_modules’). Dies bedeutet, dass die Ordner "vendor" und "nod_modules" nicht in das endgültige Backup eingeschlossen werden.
Wir übergeben auch einen Disks-Wert als ‘local’. Dabei wird unser Backup im storage/app/Laravel
Ordner gespeichert. Wir können unsere Backups auch auf einem externen Speicher wie s3, Rackspace, SFTP usw. speichern. Diese externen Speichereinstellungen erfordern einige zusätzliche Schritte zur Konfiguration mit dem Laravel-Dateisystem. Wir werden mehr darüber in einem anderen zukünftigen Artikel behandeln. Wenn Sie nach externem Speicher suchen, lesen Sie bitte die Laravel-Dokumentation.
Sicherung der Laravel-Anwendung
Bisher sind wir mit der Installation und Einrichtung fertig. Jetzt sind wir alle bereit, unser erstes Backup auszuführen. Öffnen Sie das Terminal in Ihrem Projekt-Root-Verzeichnis und führen Sie den Befehl aus:
php artisan backup:run
Der obige Befehl würde eine Sicherung der Laravel-Anwendung erstellen. Sie finden die ZIP-Datei des Backups im Ordner storage/app/Laravel
. Backup-ZIP enthält Ihre Anwendungsdateien, Ordner und den Datenbankspeicher.
Diese Bibliothek ermöglicht es uns auch, einen Backup-Prozess zu planen. Wir können unsere Backup-Aufgabe automatisieren. Dazu sollten Sie folgenden Code in die app/Console/Kernel.php
Datei schreiben .
protected function schedule(Schedule $schedule)
{
$schedule->command('backup:run')->daily()->at('06:00');
}
Wir stellen die tägliche Sicherung um 06:00 Uhr ein. Der Benutzer kann diese Zeit nach seinen Anforderungen ändern.
Das ist es! Es geht darum, ein Backup der Laravel-Anwendung zu erstellen. Wir empfehlen dringend, regelmäßig Backups zu erstellen und Ihre Anwendung vor schädlichen Umständen zu schützen.
Zum Thema passende Artikel
- So erstellen Sie ein Backup der Laravel-Anwendung und speichern es auf Amazon S3
- Senden von E-Mails über den Gmail-SMTP-Server in Laravel
- So installieren und verwenden Sie CKEditor in Laravel