Comment faire une sauvegarde de l’application Laravel
Voulez-vous effectuer ou planifier une sauvegarde de l’application Laravel ? Conserver la sauvegarde de la base de données et du système de fichiers Laravel est toujours une bonne idée. Vous devriez avoir votre sauvegarde prête à tout moment si quelque chose ne va pas avec votre serveur ou votre application. Dans cet article, nous étudions comment effectuer une sauvegarde de l’application Laravel avec la base de données.
Si vous utilisez un site Web WordPress, il existe des plugins comme Updraftplus qui nous permettent de stocker des sauvegardes sur serveur ou sur cloud. Mais quand il s’agit de Laravel, il n’y a pas de concept comme un plugin. Dans Laravel, nous devons installer des bibliothèques et les configurer.
Spatie a développé un package appelé laravel-backup qui est utile pour stocker la sauvegarde Laravel. Ce package fournit également une option qui peut planifier votre processus de sauvegarde.
Cela étant dit, examinons comment effectuer une sauvegarde de l’application Laravel avec la base de données.
Commencer
La dernière version de ce package nécessite PHP 7.2 ou supérieur avec le module ZIP et Laravel 5.7 ou supérieur. Si vous utilisez l’ancienne version de Laravel, les versions 5 et 4 de ce package sont disponibles.
Pour ce tutoriel, nous utilisons la dernière version de cette bibliothèque. Dans un premier temps, vous devez installer le package en exécutant la commande ci-dessous :
composer require spatie/laravel-backup
Une fois le package installé, exécutez la commande suivante ci-dessous qui publiera le fichier de configuration dans config/backup.php
.
php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"
Rendez-vous dans votre répertoire de configuration et ouvrez le backup.php
dans l’éditeur.
<?php
return [
.......
'source' => [
'files' => [
/*
* The list of directories and files that will be included in the backup.
*/
'include' => [
base_path(),
],
/*
* These directories and files will be excluded from the backup.
*
* Directories used by the backup process will automatically be excluded.
*/
'exclude' => [
base_path('vendor'),
base_path('node_modules'),
],
/*
* Determines if symlinks should be followed.
*/
'followLinks' => false,
],
.......
'destination' => [
/*
* The filename prefix used for the backup zip file.
*/
'filename_prefix' => 'GIVE_PREFIX_HERE',
/*
* The disk names on which the backups will be stored.
*/
'disks' => [
'local',
],
],
],
......
/*
* Here you can specify the notifiable to which the notifications should be sent. The default
* notifiable will use the variables specified in this config file.
*/
'notifiable' => SpatieBackupNotificationsNotifiable::class,
'mail' => [
'to' => 'YOUR_EMAIL_ADDRESS',
],
......
Dans ce fichier, vous devez remplacer 2 espaces réservés GIVE_PREFIX_HERE et YOUR_EMAIL_ADDRESS. Pour le GIVE_PREFIX_HERE, vous pouvez donner n’importe quel préfixe comme le nom de votre projet. Ceci est juste un nom de préfixe pour le fichier zip de sauvegarde.
Un utilisateur peut également inclure et exclure les répertoires pour la sauvegarde. Pour l’inclusion, nous avons passé la valeur base_path() et pour les options d’exclusion, les valeurs sont base_path(‘vendor’), base_path(‘node_modules’). Cela signifie que vous n’incluez pas les dossiers fournisseur et nod_modules dans la sauvegarde finale.
Nous passons également une valeur de disques comme « local ». Ce faisant, notre sauvegarde sera stockée dans le storage/app/Laravel
dossier. Nous pouvons également stocker nos sauvegardes sur un stockage externe tel que s3, Rackspace, SFTP, etc. Ces paramètres de stockage externe nécessitent quelques étapes supplémentaires pour configurer avec le système de fichiers Laravel. Nous aborderons plus à ce sujet dans un autre futur article. Si vous recherchez un stockage externe, veuillez lire la documentation Laravel.
Sauvegarde de l’application Laravel
Jusqu’à présent, nous avons terminé l’installation et la configuration. Maintenant, nous sommes tous prêts à exécuter 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 créerait une sauvegarde de l’application Laravel. Vous trouverez le zip de sauvegarde dans le dossier storage/app/Laravel
. Le zip de sauvegarde contient vos fichiers d’application, vos dossiers et votre base de données.
Cette bibliothèque nous permet également de planifier un processus de sauvegarde. Nous pouvons automatiser notre tâche de sauvegarde. Pour cela, vous devez écrire le code ci-dessous dans le app/Console/Kernel.php
fichier.
protected function schedule(Schedule $schedule)
{
$schedule->command('backup:run')->daily()->at('06:00');
}
Nous avons défini une sauvegarde quotidienne à 06:00. L’utilisateur peut modifier cette heure selon ses besoins.
C’est ça! Il s’agit de faire une sauvegarde de l’application Laravel. Nous vous recommandons fortement de faire des sauvegardes régulièrement et de protéger votre application de toute circonstance nuisible.
Articles Liés
- Comment faire une sauvegarde de l’application Laravel et la stocker sur Amazon S3
- Envoi d’e-mails via le serveur SMTP de Gmail dans Laravel
- Comment installer et utiliser CKEditor dans Laravel