...
Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Sauvegarder l’application Laravel sur Dropbox

41

Il est toujours recommandé de stocker la sauvegarde des applications sur le cloud. Vous ne savez jamais quand vous devrez peut-être restaurer votre site à partir de la sauvegarde. Amazon S3, Google Cloud, Dropbox, etc. sont quelques-uns des services populaires pour stocker la sauvegarde de votre application. Dans ce tutoriel, nous étudions le stockage de la sauvegarde de l’application Laravel sur Dropbox. Si vous souhaitez le stocker sur Amazon S3, veuillez vous reporter à notre article sur le stockage de la sauvegarde Laravel sur Amazon S3.

Dropbox propose un service API qui peut envoyer la sauvegarde de notre application vers Dropbox. En ce qui concerne Laravel, nous devons configurer le système de fichiers Laravel et définir Dropbox comme l’un des stockages de fichiers. Il interagira ensuite avec l’API Dropbox dans les coulisses.

Lors de l’interaction avec l’API Dropbox, nous devons disposer d’un jeton d’accès du compte Dropbox pour l’autorisation. Commençons par saisir le jeton d’accès Dropbox.

Obtenir un jeton d’accès Dropbox

Pour obtenir le jeton d’accès, créez une application Dropbox. Une fois connecté, cliquez sur le bouton « Créer une application ». À l’étape suivante, vous demanderez de choisir une API. Sous le type d’accès, choisissez « Dossier d’applications » et donnez le nom à votre application. Reportez-vous à la capture d’écran ci-dessous.

Ensuite, à partir de l’onglet "Autorisation", ajoutez les étendues de fichiers et de dossiers afin que notre application puisse écrire dans Dropbox.

Sauvegarder l'application Laravel sur Dropbox

Enfin, depuis l’onglet ‘Paramètres’ choisissez ‘Pas d’expiration’ du champ Expiration du jeton d’accès et cliquez sur le bouton ‘Générer’ qui vous donnera un jeton d’accès.

Sauvegarder l'application Laravel sur Dropbox

Configurer le système de fichiers Laravel pour Dropbox

Laravel fournit un système de fichiers qui fournit des pilotes pour le stockage local, SFTP et Amazon S3. Afin d’ajouter Dropbox en tant que pilote, nous devons le configurer un peu. Cela vous oblige à ajouter un adaptateur Dropbox à l’application Laravel. Vous pouvez le faire en suivant les étapes ci-dessous.

Installez la bibliothèque spatie/flysystem-dropbox à l’aide de la commande :

composer require spatie/flysystem-dropbox

Lors de l’installation de la bibliothèque, créez un fournisseur de services DropboxServiceProviderà l’aide de la commande ci-dessous.

php artisan make:provider DropboxServiceProvider

Ensuite, définissez le pilote personnalisé dropboxdans la bootméthode 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));
        });
    }
}

Enregistrez le fournisseur DropboxServiceProviderde services dans le providerstableau de config/app.phpfichiers.

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

Après cela, ajoutez le pilote ‘dropbox’ aux disques du système de fichiers. Ouvrez le config/filesystems.phpfichier et ajoutez l’élément ‘dropbox’ au diskstableau.

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

Ici, j’obtiens la valeur de la constante ‘DROPBOX_AUTH_TOKEN’ en utilisant la env()méthode. Cela signifie que nous devons ajouter cette constante dans le .envfichier.

.env

...
...
DROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HERE

Installer et configurer la bibliothèque de sauvegarde Laravel

Jusqu’à présent, nous avons terminé d’ajouter l’adaptateur Dropbox à l’application Laravel. Maintenant, installez la bibliothèque spatie/laravel-backup qui nous permet d’envoyer des sauvegardes sur les différents services cloud dont Dropbox. Exécutez la commande ci-dessous pour l’installation.

composer require spatie/laravel-backup

Une fois la bibliothèque installée, publiez le fichier de configuration à l’ config/backup.phpaide de la commande :

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

Après cela, ouvrez le config/backup.phpet ajoutez la ‘dropbox’ au tableau ‘disks’.

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

En option, vous pouvez également définir votre adresse e-mail à laquelle une notification sera envoyée concernant l’état de la sauvegarde. Vous trouverez cette option dans le mailtableau de config/backup.phpfile.

Sauvegarder l’application Laravel sur Dropbox

Nous avons terminé toute la configuration de base requise pour la sauvegarde de l’application Laravel sur Dropbox. Rendez-vous sur le terminal et tirez sur la commande ci-dessous :

php artisan backup:run

La commande ci-dessus créera un dossier « Laravel » sur votre compte Dropbox et stockera le zip de sauvegarde à l’intérieur. Ce zip de sauvegarde contient vos fichiers, dossiers et base de données d’application Laravel.

Sauvegarder l'application Laravel sur Dropbox

Il s’agit du processus manuel de création d’une sauvegarde Laravel. L’utilisateur peut également planifier la tâche de sauvegarde. Pour cela, ajoutez le code ci-dessous à la scheduleméthode de app/Console/Kernel.phpfichier.

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

Ici, je programme la sauvegarde quotidienne à 06h00. L’utilisateur peut modifier cette heure selon ses besoins.

J’espère que vous avez appris à stocker une sauvegarde de l’application Laravel sur Dropbox. J’aimerais entendre vos pensées et suggestions dans la section des commentaires ci-dessous.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails