laravel

Laravel Cómo hacer una copia de seguridad de una base de datos

Laravel Cómo hacer una copia de seguridad de una base de datos

Problema

Desafortunadamente, muchos desarrolladores nuevos de Laravel no se dan cuenta de esto hasta que ponen su código en producción, y algo sucede y pierden sus datos.

Laravel no ofrece una copia de seguridad de la base de datos como parte de su funcionalidad principal, por lo que los nuevos desarrolladores de Laravel no pueden trabajar con eso mientras leen artículos de Laravel o construyen una aplicación de Laravel.

Hoy en día, se vuelve cada vez más importante almacenar y preservar sus datos de respaldo en caso de que alguna vez necesite usarlos.

Los errores comunes que cometen los nuevos desarrolladores de Laravel es ir a phpmyadmin e intentar ejecutar esta exportación manualmente. Si bien esto aún funcionará, no es la mejor práctica porque a veces no estará allí para hacer la copia de seguridad y sus usuarios ya generaron nuevos datos.

Lo que quiere hacer es automatizar eso.

Solución

Hay muchas formas en las que puede hacer una copia de seguridad de su base de datos, pero la cantidad de personas que lo hacen es usando este paquete https: // github.com / Spatie / Laravel-Backup . La empresa que está detrás es muy confiable y conocida en la industria.

En primer lugar, el paquete es GRATIS, por lo que no tiene que pagar nada.

En el lado positivo, la instalación es bastante simple y lo que me gusta en particular es que no solo hace una copia de seguridad de su base de datos, sino que también tiene la opción de hacer una copia de seguridad de sus archivos y luego almacenar todo eso en un archivo zip. Cuando digo archivos, me refiero a archivos de almacenamiento, como las cargas de documentos o los archivos que generas con tu aplicación.

Además, también puede mover eso a AWS S3, lo cual es algo inteligente. Todo lo que necesita hacer es (asumiendo que ya tiene una cuenta de AWS, es crear un nuevo bucket de S3 con nuevos permisos. Entonces puedes seguir la documentación en su página de Github.

Aquí hay una vista previa rápida del archivo de configuración que puede modificar para recibir notificaciones a través de otros medios como Slack y Email.

'notificaciones' => [
'notificaciones' => [
\ Spatie \ Backup \ Notifications \ Notifications \ BackupHasFailed :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ UnhealthyBackupWasFound :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ CleanupHasFailed :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ BackupWasSuccessful :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ HealthyBackupWasFound :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ CleanupWasSuccessful :: class => ['mail', 'slack'],
],
/ *
* Aquí puede especificar el notificable al que se deben enviar las notificaciones. El valor por defecto
* notificable utilizará las variables especificadas en este archivo de configuración.
* /
'notifiable' => \ Spatie \ Backup \ Notifications \ Notifiable :: clase,
'correo' => [
'to' => ['editor @ linuxhint.com '],
],
'holgura' => [
'webhook_url' => 'https: // ganchos.flojo.com / services / ABMGGK7AB / B9PBCDSM8 / kam02gzLrycaUBctgAdRv52M ',
/ *
* Si se establece en nulo, se utilizará el canal predeterminado del webhook.
* /
'canal' => nulo,
],
],

Configurar la automatización

Finalmente, todo esto no tendría mucho sentido si decidiera omitir la parte de automatización. Para esto, desea confiar en los trabajos cron que ya deberían estar habilitados en su host y el puntero al comando de programación de Laravel como este:

* * * * * cd / ruta-a-su-proyecto && php horario artesanal: ejecutar >> / dev / null 2> & 1

Desde aquí, en su aplicación / Consola / Kernel.php, debe hacer lo siguiente si desea automatizarlo en un momento en particular (generalmente hago esto cuando la mayoría de nuestros usuarios están dormidos):

if (app ('env') == 'producción')
$ horario-> comando ('copia de seguridad: limpiar') -> diario () -> a las ('01: 00 ');
$ horario-> comando ('copia de seguridad: ejecutar') -> diario () -> a las ('02: 00 ');
El botón central del mouse no funciona en Windows 10
La botón central del ratón le ayuda a desplazarse por páginas web largas y pantallas con una gran cantidad de datos. Si eso se detiene, bueno, termina...
Cómo cambiar los botones izquierdo y derecho del mouse en una PC con Windows 10
Es una norma que todos los dispositivos de mouse de computadora estén diseñados ergonómicamente para usuarios diestros. Pero hay dispositivos de mouse...
Emule los clics del mouse colocando el mouse con Clickless Mouse en Windows 10
El uso excesivo de un mouse o teclado en una postura incorrecta puede provocar muchos problemas de salud, como tensión, síndrome del túnel carpiano y ...