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

Backup der Laravel-Anwendung auf Dropbox

22

Es wird immer empfohlen, Anwendungs-Backups in der Cloud zu speichern. Sie wissen nie, wann Sie Ihre Site möglicherweise aus dem Backup wiederherstellen müssen. Amazon S3, Google Cloud, Dropbox usw. sind einige der beliebtesten Dienste zum Speichern Ihrer Anwendungssicherung. In diesem Tutorial untersuchen wir das Speichern von Laravel-Anwendungssicherungen in Dropbox. Wenn Sie es auf Amazon S3 speichern möchten, lesen Sie bitte unseren Artikel Laravel-Backup auf Amazon S3 speichern .

Dropbox bietet einen API-Dienst, der das Backup von unserer Anwendung an Dropbox senden kann. Wenn es um Laravel geht, müssen wir das Laravel-Dateisystem konfigurieren und Dropbox als einen der Dateispeicher festlegen. Es interagiert dann hinter den Kulissen mit der Dropbox-API.

Während der Interaktion mit der Dropbox-API benötigen wir zur Autorisierung ein Zugriffstoken des Dropbox-Kontos. Nehmen wir zuerst das Dropbox-Zugriffstoken.

Dropbox-Zugriffstoken abrufen

Um das Zugriffstoken zu erhalten, erstellen Sie eine Dropbox-Anwendung. Klicken Sie nach der Anmeldung auf die Schaltfläche „App erstellen”. Im nächsten Schritt werden Sie nach der Auswahl einer API fragen. Wählen Sie bei der Zugriffsart „App-Ordner” und geben Sie Ihrer App einen Namen. Siehe den Screenshot unten.

Fügen Sie als Nächstes auf der Registerkarte "Berechtigung" die Bereiche von Dateien und Ordnern hinzu, damit unsere Anwendung in Dropbox schreiben kann.

Backup der Laravel-Anwendung auf Dropbox

Wählen Sie schließlich auf der Registerkarte "Einstellungen" im Feld "Ablauf des Zugriffstokens" "Kein Ablauf" aus und klicken Sie auf die Schaltfläche "Generieren", die Ihnen ein Zugriffstoken gibt.

Backup der Laravel-Anwendung auf Dropbox

Konfigurieren Sie das Laravel-Dateisystem für Dropbox

Laravel bietet ein Dateisystem, das Treiber für lokalen Speicher, SFTP und Amazon S3 bereitstellt. Um Dropbox als Treiber hinzuzufügen, müssen wir es ein wenig konfigurieren. Dazu müssen Sie der Laravel-Anwendung einen Dropbox-Adapter hinzufügen. Sie können dies tun, indem Sie die folgenden Schritte ausführen.

Installieren Sie die spatie/flysystem-dropbox- Bibliothek mit dem Befehl:

composer require spatie/flysystem-dropbox

Erstellen Sie DropboxServiceProvidernach der Installation der Bibliothek einen Dienstanbieter mit dem folgenden Befehl.

php artisan make:provider DropboxServiceProvider

Als nächstes definieren Sie den benutzerdefinierten Treiber dropboxin der bootMethode von DropboxServiceProvider.

appProvidersDropboxServiceProvider.php

<?php
 
namespace AppProviders;
 
use IlluminateSupportFacadesStorage;
use IlluminateSupportServiceProvider;
use LeagueFlysystemFilesystem;
use SpatieDropboxClient as DropboxClient;
use SpatieFlysystemDropboxDropboxAdapter;
 
class DropboxServiceProvider extends ServiceProvider
{
    ...
    ...
    public function boot()
    {
        Storage::extend('dropbox', function ($app, $config) {
            $client = new DropboxClient(
                $config['authorization_token']
            );
  
            return new Filesystem(new DropboxAdapter($client));
        });
    }
}

Registrieren Sie den Dienstanbieter DropboxServiceProviderim Datei- providersArray config/app.php.

'providers' => [
    // ...
    AppProvidersDropboxServiceProvider::class,
];

Fügen Sie danach den ‘Dropbox’-Treiber zu den Dateisystemdisketten hinzu. Öffnen Sie die config/filesystems.phpDatei und fügen Sie dem disksArray das Element ‘dropbox’ hinzu .

'disks' => [
    ...
    ...
    'dropbox' => [
        'driver' => 'dropbox',
        'authorization_token' => env('DROPBOX_AUTH_TOKEN'),
    ],
],

Hier erhalte ich den Wert der Konstanten ‘DROPBOX_AUTH_TOKEN’ mit der env()Methode. Das bedeutet, dass wir diese Konstante in die .envDatei einfügen sollten .

.env

...
...
DROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HERE

Installieren und konfigurieren Sie die Laravel-Sicherungsbibliothek

Bisher haben wir den Dropbox-Adapter zur Laravel-Anwendung hinzugefügt. Installieren Sie nun die Spatie/Laravel-Backup- Bibliothek, die es uns ermöglicht, Backups an die verschiedenen Cloud-Dienste einschließlich Dropbox zu senden. Führen Sie den folgenden Befehl zur Installation aus.

composer require spatie/laravel-backup

Sobald die Bibliothek installiert ist, veröffentlichen Sie die Konfigurationsdatei config/backup.phpmit dem folgenden Befehl:

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

Öffnen Sie danach die config/backup.phpund fügen Sie die ‘Dropbox’ zum Array ‘disks’ hinzu.

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

Optional können Sie auch Ihre E-Mail-Adresse festlegen, an die eine Benachrichtigung über den Backup-Status gesendet wird. Sie finden diese Option im mailArray von config/backup.phpfile.

Backup der Laravel-Anwendung auf Dropbox

Wir haben alle grundlegenden Einstellungen abgeschlossen, die zum Sichern der Laravel-Anwendung auf Dropbox erforderlich sind. Gehen Sie zum Terminal und schießen Sie den folgenden Befehl:

php artisan backup:run

Der obige Befehl erstellt einen ‘Laravel’-Ordner in Ihrem Dropbox-Konto und speichert die Backup-ZIP-Datei darin. Diese Backup-ZIP-Datei enthält Ihre Laravel-Anwendungsdateien, -ordner und -datenbank.

Backup der Laravel-Anwendung auf Dropbox

Dies ist der manuelle Vorgang zum Erstellen eines Laravel-Backups. Der Benutzer kann auch die Sicherungsaufgabe planen. Fügen Sie dazu den folgenden Code zur scheduleMethode der app/Console/Kernel.phpDatei hinzu.

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

Hier plane ich das tägliche Backup um 06:00 Uhr. Der Benutzer kann diese Zeit nach seinen Anforderungen ändern.

Ich hoffe, Sie haben etwas über das Speichern eines Backups der Laravel-Anwendung auf Dropbox erfahren. 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