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

Comment faire une sauvegarde de l’application Laravel et la stocker sur Amazon S3

98

Dans le passé, j’ai publié un article stockant la sauvegarde Laravel localement sur le serveur. Bien que dans cet article, nous ayons discuté du stockage d’une sauvegarde sur le serveur d’hébergement, ce mode de stockage n’est pas recommandé. L’option la plus sûre pour stocker la sauvegarde est sur le cloud. Il peut arriver que votre serveur tombe en panne et que vous perdiez l’application ainsi que les sauvegardes stockées localement. Dans ces pires scénarios, si vous avez une sauvegarde stockée sur le cloud, vous pouvez la restaurer facilement à tout moment.

Compte tenu de l’importance de la sauvegarde, dans cet article, nous étudions comment sauvegarder une application Laravel et la stocker sur Amazon s3. Pour atteindre notre objectif, nous utiliserons à la fois Laravel Filesystem et le package développé par Spatie.

Obtenez vos informations d’identification de sécurité AWS

Pour commencer, vous devez d’abord avoir un compte sur Amazon S3. Après avoir créé le compte, assurez-vous d’avoir activé le service S3 en suivant le processus de vérification AWS.

Après avoir activé le service S3, récupérez vos identifiants de sécurité dont nous aurons besoin dans quelques instants. Vous l’obtiendrez en cliquant sur le lien "Mes informations d’identification de sécurité".

Comment faire une sauvegarde de l'application Laravel et la stocker sur Amazon S3

Configurer le pilote S3 dans Laravel

Rendez-vous dans votre éditeur de code et ouvrez le fichier config/filesystems.php. Dans ce fichier, vous pouvez voir que les détails S3 sont définis à l’aide de la env()méthode. Cela signifie que vous devez définir vos informations d’identification S3 dans un .envfichier.

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

Ouvrez votre .envfichier et ajoutez-y les informations d’identification AWS S3. Pas besoin de définir la valeur AWS_URL car elle est facultative.

.env

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=

Avant d’utiliser le S3, vous devrez installer le package approprié via Composer :

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

Installer et configurer la bibliothèque de Spatie

Avant d’installer la bibliothèque de Spatie, assurez-vous que votre système répond aux exigences du package. En savoir plus à ce sujet sur leur page Exigences.

Si vous utilisez une ancienne version de Laravel, consultez l’une des versions précédentes de ce package aux v6, v5, v4.

Installons le package en exécutant la commande ci-dessous :

composer require spatie/laravel-backup

Une fois la bibliothèque installée, exécutez la commande suivante ci-dessous qui publiera le fichier de configuration dans config/backup.php.

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

Ouvrez le config/backup.phpfichier et définissez le nom des ‘disques’ comme ‘s3’. Ce faisant, nous demandons à ce package de stocker la sauvegarde Laravel sur le compartiment Amazon S3.

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

D’autres configurations sont également disponibles dans ce fichier. Un utilisateur peut inclure et exclure les répertoires pour la sauvegarde. Pour l’inclusion, la valeur est base_path()et pour l’exclusion, les valeurs d’option sont base_path('vendor'), base_path(‘node_modules’). Cela signifie ne pas inclure les dossiers vendoret nod_modulesdans la sauvegarde finale.

Stocker la sauvegarde de l’application Laravel sur Amazon S3

Nous avons terminé avec toutes les configurations de base requises pour stocker la sauvegarde Laravel sur Amazon S3. Nous pouvons maintenant stocker notre première sauvegarde. Ouvrez le terminal dans le répertoire racine de votre projet et exécutez la commande :

php artisan backup:run

La commande ci-dessus sauvegardera votre application Laravel sur AWS. Vous trouverez le zip de la sauvegarde dans votre bucket S3. Le zip de sauvegarde contient vos fichiers d’application, vos dossiers et votre base de données.

Comment faire une sauvegarde de l'application Laravel et la stocker sur Amazon S3

Cette bibliothèque permet également de planifier un processus de sauvegarde. Vous pouvez automatiser votre tâche de sauvegarde. Pour cela, ajoutez le code ci-dessous dans le app/Console/Kernel.phpfichier.

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

Ici, j’ai défini une sauvegarde quotidienne à 06h00. L’utilisateur peut modifier cette heure selon ses besoins.

J’espère que vous comprenez comment faire une sauvegarde de l’application Laravel et la stocker sur Amazon S3. 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