**META_TITLE:** Cómo hacer backup de sitio web Laravel: guía paso a paso (sin excusas)
**META_DESCRIPTION:** Deja de confiar en que tu hosting no fallará. Aprende cómo hacer backup de sitio web Laravel con comandos, scripts y automatización real. Sin plugins mágicos.
**SLUG:** como-hacer-backup-sitio-web-laravel-paso-paso
**EXTRACTO:** El desarrollador promedio pierde un sitio Laravel al menos una vez en su carrera. Esta guía te muestra cómo hacer backup de sitio web Laravel con comandos reales, automatización y recuperación en menos de 10 minutos.
---
La mayoría de los tutoriales sobre backups en Laravel están escritos por gente que nunca ha perdido un proyecto
Te lo digo porque llevo 10 años viendo cómo agencias y desarrolladores independientes llegan al mismo punto: un servidor que se cae, una base de datos corrupta, un `git push --force` al repositorio equivocado. Y entonces aparece la pregunta que nadie quiere hacerse: "¿cuándo fue la última vez que hicimos un backup?"
La respuesta, casi siempre, es "no estoy seguro". Y eso, en desarrollo web con Laravel, es una sentencia de muerte para tu proyecto.
Si estás aquí buscando **cómo hacer backup de sitio web Laravel**, no voy a darte el discurso de "es importante" porque ya lo sabes. Voy a mostrarte el método real que usamos en
home para proteger los proyectos de nuestros clientes. Sin humo, sin plugins de pago que prometen el cielo y entregan un dolor de cabeza.
Lo que nadie te dice sobre los backups en Laravel
Un sitio Laravel no es solo código. Es código, base de datos, archivos de usuario, configuraciones de entorno, cachés, sesiones activas y logs. Hacer un backup de solo la carpeta `app/` y la base de datos es como asegurar tu casa pero dejar la puerta trasera abierta.
El error más común que veo es confiar en que el hosting hace backups automáticos. Los hosts de gama baja suelen ofrecer backups semanales, sobrescriben el anterior y no te avisan si fallan. He visto casos donde el backup del hosting era un archivo vacío porque el cron job del servidor se rompió y nadie lo notó durante meses.
Por eso, cuando alguien me pregunta **cómo hacer backup de sitio web Laravel**, lo primero que digo es: no delegues tu seguridad. Automatízala tú mismo.
Los tres componentes que debes respaldar sí o sí
1. **Base de datos** (MySQL/PostgreSQL) — el corazón de tu aplicación
2. **Archivos del proyecto** — código, vistas, configuraciones
3. **Archivos de usuario** — uploads, imágenes, PDFs, assets generados
Si te falta uno, tu backup no sirve. Punto.
El comando artesano que te salvará el pellejo
Laravel trae un paquete oficial llamado `laravel-backup` de Spatie. No es un plugin de terceros dudoso, es el estándar de la industria. Lo usan desde startups hasta empresas que manejan millones de visitas al mes.
La instalación es directa:
```bash
composer require spatie/laravel-backup
```
Luego publicas la configuración:
```bash
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
```
Y ejecutas tu primer backup:
```bash
php artisan backup:run
```
Eso, por sí solo, ya te respalda la base de datos y los archivos que le indiques en `config/backup.php`. Pero aquí está el truco que pocos tutoriales mencionan: la configuración por defecto guarda los backups en `storage/app/backups`. Si tu servidor se cae y pierdes todo el disco, ese backup se va con él.
La solución es configurar un destino remoto. En el archivo de configuración, busca la sección `disks` y agrega un disco de Google Drive, Dropbox, S3 o SFTP. En
Pagina de contacto puedes pedir una revisión de tu configuración actual si no estás seguro de cómo hacerlo.
Automatización: el paso que separa a los profesionales de los aficionados
Ejecutar `php artisan backup:run` manualmente todos los días no es sostenible. Te olvidas, te da flojera, se te cruza una junta y ya perdiste el hábito.
La automatización en Laravel se hace con el Kernel de comandos. Abre `app/Console/Kernel.php` y agrega esto en el método `schedule`:
```php
$schedule->command('backup:run')->daily()->at('03:00');
$schedule->command('backup:clean')->daily()->at('05:00');
```
El primer comando ejecuta el backup. El segundo elimina los backups viejos según la configuración que definiste. Sin que tú hagas nada.
Pero ojo: esto solo funciona si tienes configurado el cron en tu servidor. En la mayoría de servidores Linux, agregas esta línea al crontab:
```
* * * * * cd /ruta/a/tu/proyecto && php artisan schedule:run >> /dev/null 2>&1
```
Si no sabes qué es un crontab o cómo configurarlo, detente aquí. Porque **cómo hacer backup de sitio web Laravel** sin tener el cron funcionando es como tener un coche sin llantas. No vas a llegar a ningún lado.
El método de recuperación: la prueba de fuego
He visto equipos enteros celebrar que tienen backups automáticos, solo para descubrir en una crisis que el backup estaba corrupto, incompleto o apuntaba al servidor equivocado.
La única forma de saber si tu backup funciona es restaurarlo en un entorno diferente. No en producción. Crea una copia local de tu proyecto, ejecuta:
```bash
php artisan backup:restore
```
Y verifica que todo funcione. Si no puedes restaurar, no tienes un backup. Tienes una ilusión.
Esto es especialmente crítico si trabajas con proyectos educativos o plataformas de aprendizaje. En
Características de una escuela virtual profesional que realmente importan hablamos de por qué la continuidad del servicio es clave. Un backup fallido en una escuela virtual significa estudiantes sin acceso a clases, exámenes perdidos y reputación destruida.
Diferencias entre backup de código y backup de datos
Mucha gente confunde tener el código en Git con tener un backup completo. Son cosas distintas.
Tu repositorio en GitHub guarda el código, sí. Pero no guarda:
- El archivo `.env` con las credenciales
- Los archivos subidos por usuarios
- La base de datos con usuarios, cursos, ventas
- Las configuraciones del servidor
Si solo tienes Git, y tu servidor se quema, puedes reconstruir la aplicación desde cero. Pero pierdes todos los datos de tus clientes. Y eso, en muchos casos, es el fin del negocio.
En
Diferencias Entre Página Web Y Aplicación Web explico justamente por qué una aplicación web como Laravel requiere un enfoque de respaldo distinto. No es lo mismo respaldar un blog de WordPress que una plataforma SaaS con decenas de tablas relacionales.
El costo real de no tener backups
Hablemos de números porque los desarrolladores entienden mejor con datos concretos.
Un backup mal configurado en un proyecto Laravel mediano (digamos, una plataforma educativa con 500 usuarios activos) puede costarte:
- **$2,000 MXN por hora** de un desarrollador reconstruyendo desde cero
- **$15,000 MXN en pérdida de ingresos** por cada día que el sitio esté caído
- **Clientes perdidos** que no tienen precio porque no vuelven
Comprar espacio en S3 para almacenar backups cuesta alrededor de **$5 USD al mes** para un sitio de tamaño medio. Un VPS con backups automáticos bien configurados cuesta unos **$300 MXN mensuales**.
La pregunta no es si puedes pagar por un backup. La pregunta es si puedes pagar por no tenerlo.
En México, por ejemplo, he visto agencias que pierden proyectos completos porque el backup de su hosting compartido falló y no tenían una copia externa. En
Presupuesto escuela virtual a medida México: costos reales 2026 desglosamos exactamente cuánto cuesta prevenir estos desastres versus cuánto cuesta resolverlos.
Lo que debes hacer esta semana
No esperes a que sea demasiado tarde. Si hoy leíste esto y todavía no tienes un backup automatizado de tu sitio Laravel, tu prioridad número uno es:
1. Instalar `spatie/laravel-backup`
2. Configurar un destino remoto (S3, Google Drive, SFTP)
3. Programar el backup diario en el Kernel
4. Verificar el cron del servidor
5. Hacer una prueba de restauración
Todo esto te toma menos de una hora si sabes lo que estás haciendo. Si no, busca a alguien que lo haga por ti. En
Soporte técnico web 24 horas México: ¿qué debe incluir? hablamos de lo que un buen equipo de soporte debería ofrecer, y la gestión de backups es el primer punto de la lista.
Porque al final del día, **cómo hacer backup de sitio web Laravel** no es una pregunta técnica. Es una pregunta de responsabilidad. Con tus clientes, con tu proyecto, con tu tranquilidad.
Y la respuesta es simple: hazlo. Automatízalo. Pruébalo. Y luego duerme tranquilo.