...
✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Copia de seguridad de la aplicación Laravel en Dropbox

87

Siempre se recomienda almacenar la copia de seguridad de la aplicación en la nube. Nunca se sabe cuándo es posible que deba restaurar su sitio desde la copia de seguridad. Amazon S3, Google Cloud, Dropbox, etc. son algunos de los servicios populares para almacenar la copia de seguridad de su aplicación. En este tutorial, estudiamos cómo almacenar la copia de seguridad de la aplicación Laravel en Dropbox. Si desea almacenarlo en Amazon S3, consulte nuestro artículo sobre el almacenamiento de la copia de seguridad de Laravel en Amazon S3.

Dropbox ofrece un servicio de API que puede enviar la copia de seguridad de nuestra aplicación a Dropbox. Cuando se trata de Laravel, tenemos que configurar Laravel Filesystem y configurar Dropbox como uno de los archivos de almacenamiento. Luego interactuará con la API de Dropbox entre bastidores.

Durante la interacción con la API de Dropbox, necesitamos tener un token de acceso de la cuenta de Dropbox para la autorización. Primero tomemos el token de acceso a Dropbox.

Obtener token de acceso a Dropbox

Para obtener el token de acceso, cree una aplicación de Dropbox. Al iniciar sesión, haga clic en el botón ‘Crear aplicación’. En el siguiente paso, le pedirá que elija una API. Debajo del tipo de acceso, elija ‘Carpeta de aplicaciones’ y dé el nombre a su aplicación. Consulte la captura de pantalla a continuación.

A continuación, desde la pestaña ‘Permiso’ agregue los alcances de los archivos y carpetas para que nuestra aplicación pueda escribir en Dropbox.

Copia de seguridad de la aplicación Laravel en Dropbox

Finalmente, desde la pestaña ‘Configuración’, elija ‘Sin vencimiento’ del campo de vencimiento del token de acceso y haga clic en el botón ‘Generar’ que le dará un token de acceso.

Copia de seguridad de la aplicación Laravel en Dropbox

Configurar el sistema de archivos Laravel para Dropbox

Laravel proporciona un sistema de archivos que proporciona controladores para almacenamiento local, SFTP y Amazon S3. Para agregar Dropbox como controlador, necesitamos configurarlo un poco. Requiere que agregue un adaptador de Dropbox a la aplicación Laravel. Puede hacerlo siguiendo los pasos a continuación.

Instale la biblioteca Spatie / Flysystem-Dropbox con el comando:

composer require spatie/flysystem-dropbox

Al instalar la biblioteca, cree un proveedor de servicios DropboxServiceProviderusando el siguiente comando.

php artisan make:provider DropboxServiceProvider

A continuación, defina el controlador personalizado dropboxen el bootmétodo de 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));
        });
    }
}

Registre el proveedor de servicios DropboxServiceProvideren la providersmatriz de config/app.phparchivos.

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

Después de esto, agregue el controlador ‘dropbox’ a los discos del sistema de archivos. Abra el config/filesystems.phparchivo y agregue el elemento ‘dropbox’ a la disksmatriz.

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

Aquí, obtengo el valor de la constante ‘DROPBOX_AUTH_TOKEN’ usando el env()método. Significa que debemos agregar esta constante en el .envarchivo.

.env

...
...
DROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HERE

Instalar y configurar la biblioteca de copia de seguridad de Laravel

Hasta ahora, hemos terminado de agregar el adaptador de Dropbox a la aplicación Laravel. Ahora, instale la biblioteca Spatie / Laravel-Backup que nos permite enviar copias de seguridad en los diferentes servicios en la nube, incluido Dropbox. Ejecute el siguiente comando para la instalación.

composer require spatie/laravel-backup

Una vez que la biblioteca esté instalada, publique el archivo de configuración config/backup.phpusando el comando:

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

Después de esto, abra config/backup.phpy agregue el ‘dropbox’ a la matriz de ‘discos’.

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

Opcionalmente, también puede configurar su dirección de correo electrónico a la que se enviará una notificación sobre el estado de la copia de seguridad. Encontrará esta opción en la mailmatriz de config/backup.phparchivos.

Copia de seguridad de la aplicación Laravel en Dropbox

Hemos completado toda la configuración básica necesaria para realizar una copia de seguridad de la aplicación Laravel en Dropbox. Ve a la terminal y dispara el siguiente comando:

php artisan backup:run

El comando anterior creará una carpeta ‘Laravel’ en su cuenta de Dropbox y almacenará el zip de respaldo en su interior. Este zip de respaldo contiene los archivos, carpetas y base de datos de la aplicación Laravel.

Copia de seguridad de la aplicación Laravel en Dropbox

Este es el proceso manual de hacer una copia de seguridad de Laravel. El usuario también puede programar la tarea de copia de seguridad. Para esto, agregue el siguiente código al schedulemétodo de app/Console/Kernel.phparchivo.

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

Aquí, programo la copia de seguridad diaria a las 06:00. El usuario puede cambiar este tiempo según sus necesidades.

Espero que sepas cómo almacenar una copia de seguridad de la aplicación Laravel en Dropbox. Me gustaría escuchar sus pensamientos y sugerencias en la sección de comentarios a continuación.

Artículos relacionados

Fuente de grabación: 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