...
✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

So erstellen Sie ein Backup der Laravel-Anwendung und speichern es auf Amazon S3

25

In der Vergangenheit habe ich einen Artikel veröffentlicht, in dem das Laravel-Backup lokal auf dem Server gespeichert wird. Obwohl wir in diesem Artikel das Speichern eines Backups auf dem Hosting-Server besprochen haben, wird dies nicht als Speichermethode empfohlen. Die sicherere Option zum Speichern von Backups ist in der Cloud. Es kann vorkommen, dass Ihr Server abstürzt und Sie die Anwendung zusammen mit lokal gespeicherten Backups verlieren. Wenn Sie in diesen schlimmsten Szenarien ein Backup in der Cloud gespeichert haben, können Sie es jederzeit problemlos wiederherstellen.

In Anbetracht der Bedeutung der Sicherung untersuchen wir in diesem Artikel, wie eine Laravel-Anwendung gesichert und auf Amazon s3 gespeichert wird. Um unser Ziel zu erreichen, verwenden wir sowohl das Laravel Filesystem als auch das von Spatie entwickelte Paket.

Holen Sie sich Ihre AWS-Sicherheitsanmeldeinformationen

Um loszulegen, sollten Sie zunächst ein Konto bei Amazon S3 haben. Stellen Sie nach dem Erstellen des Kontos sicher, dass Sie den S3-Service aktiviert haben, indem Sie dem AWS-Verifizierungsprozess folgen.

Nachdem Sie den S3-Dienst aktiviert haben, erhalten Sie Ihre Sicherheitsdaten, die wir in wenigen Augenblicken benötigen. Sie erhalten es, indem Sie auf den Link „Meine Sicherheitsanmeldeinformationen” klicken.

So erstellen Sie ein Backup der Laravel-Anwendung und speichern es auf Amazon S3

Konfigurieren Sie den S3-Treiber in Laravel

Gehen Sie zu Ihrem Code-Editor und öffnen Sie die Datei config/filesystems.php. In dieser Datei können Sie sehen, dass S3-Details mit der env()Methode festgelegt werden. Das bedeutet, dass Sie Ihre S3-Anmeldeinformationen in der .envDatei festlegen müssen .

config/filesystems.php

<?php
return [
  
    .....
  
    'disks' => [
  
        .....
  
        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
            'endpoint' => env('AWS_ENDPOINT'),
        ],
    ...
    ...
];

Öffnen Sie Ihre .envDatei und fügen Sie die AWS S3-Anmeldeinformationen hinzu. Es ist nicht erforderlich, den AWS_URL-Wert festzulegen, da er optional ist.

.env

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=

Bevor Sie den S3 verwenden, müssen Sie das entsprechende Paket über Composer installieren:

composer require league/flysystem-aws-s3-v3 ~1.0

Installieren und konfigurieren Sie die Bibliothek von Spatie

Stellen Sie vor der Installation der Spatie-Bibliothek sicher, dass Ihr System die Paketanforderungen erfüllt. Lesen Sie mehr darüber auf der Seite Anforderungen.

Wenn Sie eine ältere Version von Laravel verwenden, überprüfen Sie eine der vorherigen Versionen dieses Pakets unter v6, v5, v4.

Lassen Sie uns das Paket installieren, indem Sie den folgenden Befehl ausführen:

composer require spatie/laravel-backup

Sobald die Bibliothek installiert ist, führen Sie den nächsten Befehl unten aus, der die Konfigurationsdatei in config/backup.php.

php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"

Öffnen Sie die config/backup.phpDatei und legen Sie den Namen der ‘Festplatten’ als ‘s3’ fest. Dabei weisen wir dieses Paket an, das Laravel-Backup im Amazon S3-Bucket zu speichern.

<?php
...
...
/*
* The disk names on which the backups will be stored.
*/
'disks' => [
    's3',
],

In dieser Datei sind auch andere Konfigurationen verfügbar. Ein Benutzer kann die Verzeichnisse für die Sicherung ein- und ausschließen. Für das Einschließen ist der Wert base_path()und für die Ausschlussoption sind die Werte base_path('vendor'), base_path(‘node_modules’). Es bedeutet nicht enthalten vendorund nod_modulesOrdner in der letzten Sicherung.

Speichern Sie das Backup der Laravel-Anwendung auf Amazon S3

Wir sind mit allen grundlegenden Konfigurationen fertig, die zum Speichern von Laravel-Backups auf Amazon S3 erforderlich sind. Jetzt können wir unser erstes Backup speichern. Öffnen Sie das Terminal in Ihrem Projekt-Root-Verzeichnis und führen Sie den Befehl aus:

php artisan backup:run

Der obige Befehl sichert Ihre Laravel-Anwendung auf AWS. Sie finden die ZIP-Datei des Backups in Ihrem S3-Bucket. Die Backup-ZIP-Datei enthält Ihre Anwendungsdateien, Ordner und den Datenbankspeicher.

So erstellen Sie ein Backup der Laravel-Anwendung und speichern es auf Amazon S3

Diese Bibliothek ermöglicht auch die Planung eines Backup-Prozesses. Sie können Ihre Backup-Aufgabe automatisieren. Fügen Sie dazu den folgenden Code in die app/Console/Kernel.phpDatei ein.

<?php
...
...
protected function schedule(Schedule $schedule)
{
    $schedule->command('backup:run')->daily()->at('06:00');
}

Hier habe ich das tägliche Backup auf 06:00 eingestellt. Der Benutzer kann diese Zeit nach seinen Anforderungen ändern.

Ich hoffe, Sie verstehen, wie Sie ein Backup der Laravel-Anwendung erstellen und auf Amazon S3 speichern. Ich würde gerne Ihre Gedanken und Vorschläge im Kommentarbereich unten hören.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen