...
✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Backup Laravel-applikation på Dropbox

22

Det rekommenderas alltid att lagra säkerhetskopiering av applikationer i molnet. Du vet aldrig när du kan behöva återställa din webbplats från säkerhetskopian. Amazon S3, Google Cloud, Dropbox, etc. är några av de populära tjänsterna för att lagra din säkerhetskopia. I denna handledning studerar vi lagring av Laravel-säkerhetskopiering på Dropbox. Om du vill lagra den på Amazon S3, se vår artikel som lagrar Laravel-säkerhetskopiering på Amazon S3.

Dropbox erbjuder en API-tjänst som kan skicka säkerhetskopian från vår applikation till Dropbox. När det gäller Laravel måste vi konfigurera Laravel Filesystem och ställa in Dropbox som en av fillagren. Det kommer sedan att interagera med Dropbox API bakom kulisserna.

Under interaktion med Dropbox API måste vi ha en åtkomsttoken för Dropbox-kontot för auktorisering. Låt oss först ta tag i Dropbox-åtkomsttoken.

Hämta Dropbox Access Token

Skapa en Dropbox-applikation för att få åtkomsttoken. Vid inloggning klickar du på knappen ‘Skapa app’. I nästa steg kommer du att be om att välja ett API. Välj "Appmapp" under typen av åtkomst och ge din app namnet. Se skärmdumpen nedan.

Därefter, från fliken "Tillstånd", lägg till omfattningen av filer och mappar så att vår applikation kan skriva till Dropbox.

Backup Laravel-applikation på Dropbox

Slutligen väljer du "Ingen utgång" i fliken "Inställningar" i utgångsfältet för åtkomsttoken och klickar på knappen "Skapa" som ger dig en åtkomsttoken.

Backup Laravel-applikation på Dropbox

Konfigurera Laravel Filesystem för Dropbox

Laravel tillhandahåller ett filsystem som ger drivrutiner för lokal lagring, SFTP och Amazon S3. För att lägga till Dropbox som en drivrutin måste vi konfigurera den lite. Det kräver att du lägger till en Dropbox-adapter i Laravel-applikationen. Du kan göra det genom att följa stegen nedan.

Installera spatie / flysystem-dropbox- biblioteket med kommandot:

composer require spatie/flysystem-dropbox

När du installerar biblioteket skapar du en tjänsteleverantör DropboxServiceProvidermed kommandot nedan.

php artisan make:provider DropboxServiceProvider

Definiera sedan den anpassade drivrutinen dropboxi bootmetoden för 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));
        });
    }
}

Registrera tjänsteleverantören DropboxServiceProvideri filens providersarray config/app.php.

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

Därefter lägger du till dropbox-drivrutinen till filsystemets diskar. Öppna config/filesystems.phpfilen och lägg till ‘dropbox’-elementet i disksmatrisen.

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

Här får jag värdet av konstanten ‘DROPBOX_AUTH_TOKEN’ med env()metoden. Det betyder att vi bör lägga till denna konstant i .envfilen.

.env

...
...
DROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HERE

Installera och konfigurera Laravel Backup Library

Hittills är vi klara med att lägga till Dropbox-adapter till Laravel-applikationen. Installera nu spatie / laravel-backup- biblioteket som gör att vi kan skicka säkerhetskopiering på de olika molntjänsterna inklusive Dropbox. Kör kommandot nedan för installation.

composer require spatie/laravel-backup

När biblioteket är installerat, publicera konfigurationsfilen för att config/backup.phpanvända kommandot:

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

Efter detta öppnar du config/backup.phpoch lägger till ‘dropbox’ i ‘disks’ array.

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

Alternativt kan du också ställa in din e-postadress till vilken avisering som ska skickas om säkerhetskopieringsstatus. Du hittar det här alternativet i filens mailarray config/backup.php.

Backup Laravel-applikation på Dropbox

Vi har slutfört alla grundläggande inställningar som krävs för att säkerhetskopiera Laravel-applikationen på Dropbox. Gå till terminalen och skjut kommandot nedan:

php artisan backup:run

Ovanstående kommando skapar en "Laravel" -mapp till ditt Dropbox-konto och lagrar backup-zip i den. Denna backup-zip innehåller dina Laravel-applikationsfiler, mappar och databas.

Backup Laravel-applikation på Dropbox

Detta är den manuella processen för att göra en Laravel-säkerhetskopia. Användaren kan också schemalägga säkerhetskopieringsuppgiften. För detta, lägg till koden nedan schedulei app/Console/Kernel.phpfilmetoden.

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

Här planerar jag den dagliga säkerhetskopian kl 06:00. Användaren kan ändra den här tiden enligt deras krav.

Jag hoppas att du fick veta hur du lagrar en säkerhetskopia av Laravel-applikationen på Dropbox. Jag skulle vilja höra dina tankar och förslag i kommentarsektionen nedan.

relaterade artiklar

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer