✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Backup dell’applicazione Laravel su Dropbox

15

Si consiglia sempre di archiviare il backup dell’applicazione sul cloud. Non sai mai quando potresti aver bisogno di ripristinare il tuo sito dal backup. Amazon S3, Google Cloud, Dropbox, ecc. sono alcuni dei servizi più diffusi per archiviare il backup delle applicazioni. In questo tutorial, studiamo la memorizzazione del backup dell’applicazione Laravel su Dropbox. Se desideri archiviarlo su Amazon S3, fai riferimento al nostro articolo sull’archiviazione del backup di Laravel su Amazon S3.

Dropbox offre un servizio API in grado di inviare il backup dalla nostra applicazione a Dropbox. Quando si tratta di Laravel, dobbiamo configurare Laravel Filesystem e impostare Dropbox come uno dei file di archiviazione. Interagirà quindi con l’API Dropbox dietro le quinte.

Durante l’interazione con l’API Dropbox, è necessario disporre di un token di accesso dell’account Dropbox per l’autorizzazione. Prendiamo prima il token di accesso Dropbox.

Ottieni token di accesso Dropbox

Per ottenere il token di accesso, crea un’applicazione Dropbox. Una volta effettuato l’accesso, fare clic sul pulsante "Crea app". Nel passaggio successivo, ti verrà chiesto di scegliere un’API. Sotto il tipo di accesso, scegli "Cartella app" e dai il nome alla tua app. Fare riferimento allo screenshot qui sotto.

Successivamente, dalla scheda "Autorizzazione" aggiungi gli ambiti di file e cartelle in modo che la nostra applicazione possa scrivere su Dropbox.

Backup dell'applicazione Laravel su Dropbox

Infine, dalla scheda "Impostazioni" scegli "Nessuna scadenza" del campo Scadenza token di accesso e fai clic sul pulsante "Genera" che ti darà un token di accesso.

Backup dell'applicazione Laravel su Dropbox

Configura Laravel Filesystem per Dropbox

Laravel fornisce un filesystem che fornisce i driver per l’archiviazione locale, SFTP e Amazon S3. Per aggiungere Dropbox come driver, dobbiamo configurarlo un po’. Richiede l’aggiunta di un adattatore Dropbox all’applicazione Laravel. Puoi farlo seguendo i passaggi seguenti.

Installa la libreria spatie/flysystem-dropbox usando il comando:

composer require spatie/flysystem-dropbox

Dopo aver installato la libreria, creare un provider di servizi DropboxServiceProviderutilizzando il comando seguente.

php artisan make:provider DropboxServiceProvider

Quindi, definire il driver personalizzato dropboxnel bootmetodo di 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));
        });
    }
}

Registra il fornitore DropboxServiceProviderdi servizi providersnell’array di config/app.phpfile.

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

Successivamente, aggiungi il driver "dropbox" ai dischi del filesystem. Apri il config/filesystems.phpfile e aggiungi l’elemento ‘dropbox’ disksall’array.

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

Qui, sto ottenendo il valore della costante ‘DROPBOX_AUTH_TOKEN’ usando il env()metodo. Significa che dovremmo aggiungere questa costante nel .envfile.

.env

...
...
DROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HERE

Installa e configura la libreria di backup di Laravel

Finora, abbiamo finito con l’aggiunta dell’adattatore Dropbox all’applicazione Laravel. Ora installa la libreria spatie/laravel-backup che ci consente di inviare backup sui diversi servizi cloud, incluso Dropbox. Eseguire il comando seguente per l’installazione.

composer require spatie/laravel-backup

Una volta installata la libreria, pubblica il file di configurazione config/backup.phputilizzando il comando:

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

Dopodiché, apri config/backup.phpe aggiungi "dropbox" all’array "disks".

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

Facoltativamente, puoi anche impostare il tuo indirizzo e-mail a cui verrà inviata la notifica sullo stato del backup. Troverai questa opzione mailnell’array di config/backup.phpfile.

Backup dell’applicazione Laravel su Dropbox

Abbiamo completato tutta la configurazione di base richiesta per il backup dell’applicazione Laravel su Dropbox. Vai al terminale e spara il comando qui sotto:

php artisan backup:run

Il comando sopra creerà una cartella "Laravel" sul tuo account Dropbox e memorizzerà lo zip di backup al suo interno. Questo zip di backup contiene i file, le cartelle e il database dell’applicazione Laravel.

Backup dell'applicazione Laravel su Dropbox

Questo è il processo manuale per eseguire un backup di Laravel. L’utente può anche pianificare l’attività di backup. Per questo, aggiungi il codice seguente al schedulemetodo di app/Console/Kernel.phpfile.

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

Qui pianifico il backup giornaliero alle 06:00. L’utente può modificare questa volta in base alle proprie esigenze.

Spero che tu sappia come archiviare un backup dell’applicazione Laravel su Dropbox. Mi piacerebbe sentire i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More