Cómo realizar una copia de seguridad de la aplicación Laravel
¿Quieres realizar o programar una copia de seguridad de la aplicación Laravel? Mantener la copia de seguridad de la base de datos y el sistema de archivos de Laravel siempre es una buena idea. Debe tener su copia de seguridad lista en cualquier momento si algo sale mal con su servidor o aplicación. En este artículo, estudiamos cómo realizar una copia de seguridad de la aplicación Laravel con la base de datos.
Si está ejecutando un sitio web de WordPress, existen complementos como Updraftplus que nos permiten almacenar copias de seguridad en el servidor o en la nube. Pero cuando se trata de Laravel, no existe un concepto como un complemento. En Laravel, necesitamos instalar bibliotecas y configurarlo.
Spatie ha desarrollado un paquete llamado laravel-backup que es útil para almacenar copias de seguridad de Laravel. Este paquete también proporciona una opción que puede programar su proceso de copia de seguridad.
Dicho esto, echemos un vistazo a cómo realizar una copia de seguridad de la aplicación Laravel con la base de datos.
Empezando
La última versión de este paquete requiere PHP 7.2 o superior con el módulo ZIP y Laravel 5.7 o superior. Si está utilizando la versión anterior de Laravel, la versión 5 y la versión 4 de este paquete están disponibles.
Para este tutorial, usamos la última versión de esta biblioteca. Al principio, debe instalar el paquete ejecutando el siguiente comando:
composer require spatie/laravel-backup
Una vez que haya instalado el paquete, ejecute el siguiente comando a continuación, que publicará el archivo de configuración en config/backup.php
.
php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"
Dirígete a tu directorio de configuración y abre el backup.php
en el editor.
<?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',
],
......
En este archivo, debe reemplazar 2 marcadores de posición GIVE_PREFIX_HERE y YOUR_EMAIL_ADDRESS. Para GIVE_PREFIX_HERE puede dar cualquier prefijo como el nombre de su proyecto. Este es solo un nombre de prefijo para el archivo zip de la copia de seguridad.
Un usuario también puede incluir y excluir los directorios para la copia de seguridad. Para la inclusión hemos pasado el valor base_path() y para la opción de exclusión los valores son base_path (‘proveedor’), base_path (‘node_modules’). Significa no incluir las carpetas de proveedor y nod_modules en la copia de seguridad final.
También estamos pasando un valor de disco como ‘local’. Al hacerlo, nuestra copia de seguridad se almacenará en la storage/app/Laravel
carpeta. También podemos almacenar nuestras copias de seguridad en un almacenamiento externo como s3, Rackspace, SFTP, etc. Estas configuraciones de almacenamiento externo requieren algunos pasos adicionales para configurar con el sistema de archivos Laravel. Cubriremos más sobre esto en otro artículo futuro. Si está buscando almacenamiento externo, lea la documentación de Laravel.
Copia de seguridad de la aplicación Laravel
Hasta ahora hemos terminado con la instalación y configuración. Ahora todos estamos listos para ejecutar nuestra primera copia de seguridad. Abra la terminal en el directorio raíz de su proyecto y ejecute el comando:
php artisan backup:run
El comando anterior crearía una copia de seguridad de la aplicación Laravel. Encontrará el zip de la copia de seguridad en la carpeta storage/app/Laravel
. El zip de copia de seguridad contiene los archivos de la aplicación, las carpetas y el almacén de la base de datos.
Esta biblioteca también nos permite programar un proceso de respaldo. Podemos automatizar nuestra tarea de copia de seguridad. Para esto, debe escribir el siguiente código en el app/Console/Kernel.php
archivo.
protected function schedule(Schedule $schedule)
{
$schedule->command('backup:run')->daily()->at('06:00');
}
Configuramos la copia de seguridad diaria a las 06:00. El usuario puede cambiar este tiempo según sus necesidades.
¡Eso es! Se trata de realizar una copia de seguridad de la aplicación Laravel. Recomendamos encarecidamente realizar copias de seguridad con regularidad y mantener su aplicación a salvo de cualquier circunstancia dañina.
Artículos relacionados
- Cómo realizar una copia de seguridad de la aplicación Laravel y almacenarla en Amazon S3
- Envío de correo electrónico a través del servidor SMTP de Gmail en Laravel
- Cómo instalar y usar CKEditor en Laravel