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

Come eseguire il backup dell’applicazione Laravel e archiviarla su Amazon S3

23

In passato, ho pubblicato un articolo che memorizza il backup di Laravel localmente sul server. Sebbene in quell’articolo abbiamo discusso dell’archiviazione di un backup sul server di hosting, non è consigliabile un metodo di archiviazione. L’opzione più sicura per archiviare il backup è sul cloud. Può succedere che il tuo server si arresti in modo anomalo e che tu perda l’applicazione insieme ai backup archiviati localmente. In questi scenari peggiori, se hai un backup archiviato sul cloud, puoi ripristinarlo facilmente in qualsiasi momento.

Considerando l’importanza del backup, in questo articolo, studiamo come eseguire il backup di un’applicazione Laravel e archiviarla su Amazon s3. Per raggiungere il nostro obiettivo, utilizzeremo sia Laravel Filesystem che il pacchetto sviluppato da Spatie.

Ottieni le tue credenziali di sicurezza AWS

Per iniziare, dovresti prima avere un account su Amazon S3. Dopo aver creato l’account assicurati di aver attivato il servizio S3 seguendo il processo di verifica AWS.

Dopo aver attivato il servizio S3, ottieni le tue credenziali di sicurezza che ci serviranno tra qualche istante. Lo otterrai facendo clic sul collegamento "Le mie credenziali di sicurezza".

Come eseguire il backup dell'applicazione Laravel e archiviarla su Amazon S3

Configura il driver S3 in Laravel

Vai al tuo editor di codice e apri il file config/filesystems.php. In questo file, puoi vedere che i dettagli di S3 sono impostati utilizzando il env()metodo. Significa che devi impostare le tue credenziali S3 nel .envfile.

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'),
        ],
    ...
    ...
];

Apri il .envfile e aggiungi le credenziali AWS S3. Non è necessario impostare il valore AWS_URL poiché è facoltativo.

.env

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=

Prima di utilizzare S3, sarà necessario installare il pacchetto appropriato tramite Composer:

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

Installa e configura la libreria di Spatie

Prima di installare la libreria di Spatie assicurati che il tuo sistema soddisfi i requisiti del pacchetto. Maggiori informazioni a riguardo nella loro pagina Requisiti.

Se stai usando una versione precedente di Laravel, controlla una delle versioni precedenti di questo pacchetto su v6, v5, v4.

Installiamo il pacchetto eseguendo il comando seguente:

composer require spatie/laravel-backup

Una volta installata la libreria, esegui il comando successivo di seguito che pubblicherà il file di configurazione in config/backup.php.

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

Apri il config/backup.phpfile e imposta il nome dei "dischi" come "s3". In questo modo, stiamo dicendo a questo pacchetto di archiviare il backup di Laravel nel bucket Amazon S3.

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

Ci sono anche altre configurazioni disponibili in questo file. Un utente può includere ed escludere le directory per il backup. Per l’inclusione il valore è base_path()e per l’opzione di esclusione i valori sono base_path('vendor'), base_path(‘node_modules’). Significa non includere vendore nod_modulescartelle nel backup finale.

Archivia il backup dell’applicazione Laravel su Amazon S3

Abbiamo finito con tutte le configurazioni di base necessarie per archiviare il backup di Laravel su Amazon S3. Ora possiamo archiviare il nostro primo backup. Apri il terminale nella directory principale del tuo progetto ed esegui il comando:

php artisan backup:run

Il comando precedente eseguirà il backup della tua applicazione Laravel su AWS. Troverai lo zip del backup nel tuo bucket S3. Lo zip di backup contiene i file, le cartelle e l’archivio del database dell’applicazione.

Come eseguire il backup dell'applicazione Laravel e archiviarla su Amazon S3

Questa libreria consente anche di pianificare un processo di backup. Puoi automatizzare la tua attività di backup. Per questo, aggiungi il codice seguente nel app/Console/Kernel.phpfile.

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

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

Spero che tu capisca come eseguire un backup dell’applicazione Laravel e archiviarlo su Amazon S3. 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