Cómo hacer copia de seguridad de un servidor FiveM: base de datos, recursos y txData
Haz copia de seguridad de tu servidor FiveM: mysqldump o HeidiSQL para la base de datos, recursos, server.cfg y txData, copias de seguridad programadas, copias fuera del servidor y cómo restaurar.
Un disco falla, un script incorrecto elimina una tabla, un anfitrión cierra tu cuenta, o eliminas la carpeta incorrecta. Si tu única copia del servidor está en el servidor, comienzas de cero y tus jugadores pierden sus personajes. Esta guía cubre qué hacer copia de seguridad, cómo automatizarlo, y cómo restaurar.
Qué hacer copia de seguridad
| Qué | Por qué | Dónde |
|---|---|---|
| Base de datos | Personajes, dinero, vehículos, inventarios, todo lo que los jugadores poseen | MariaDB o MySQL |
server.cfg |
Tu configuración del servidor y el orden de inicio | carpeta de datos del servidor |
Carpeta resources |
Tus scripts y sus ficheros de configuración | carpeta de datos del servidor |
| txData | Configuración de txAdmin, cuentas de administrador, historial de bans y el registro de acciones | carpeta txData |
Los binarios del servidor FiveM (artifacts) no necesitan una copia de seguridad. Puedes descargarlos de nuevo, ver actualizando artifacts del servidor.
Cuidado:
server.cfgpuede contener tu clave de licencia, contraseña de base de datos y tokens de Discord. Mantén las copias de seguridad privadas y nunca las publiques en un lugar público.
Copia de seguridad de la base de datos
Con mysqldump
mysqldump viene con MariaDB y MySQL. Reemplaza el usuario y nombre de la base de datos con los tuyos:
mysqldump -u root -p --single-transaction --routines --databases es_extended > backup.sql--single-transactiontoma una copia consistente de tablas InnoDB sin bloquear el servidor.--routinesincluye procedimientos almacenados.--databasesañade la declaraciónCREATE DATABASE, por lo que una restauración es más simple.
Pon la fecha en el nombre de fichero, así las copias no se sobrescriben entre sí:
mysqldump -u root -p --single-transaction --routines --databases es_extended > "backup_$(date +%F).sql"Para ejecutarlo sin solicitud de contraseña, almacena las credenciales en un fichero de opciones protegido (como ~/.my.cnf en Linux) en lugar de escribirlas en el comando.
Con HeidiSQL
Si prefieres una herramienta gráfica:
- Conéctate al servidor en HeidiSQL.
- Haz clic derecho en la base de datos y elige Exportar base de datos como SQL.
- Selecciona todas las tablas, elige Crear para la estructura e Insertar para los datos, y elige un fichero de destino.
- Haz clic en Exportar.
Hazlo a mano antes de cambios arriesgados. Para copias de seguridad regulares, automatízalo.
Copia de seguridad de ficheros
Comprime las carpetas que quieras mantener:
tar -czf server_files_$(date +%F).tar.gz server.cfg resources txDataEn Windows, PowerShell puede hacer lo mismo:
Compress-Archive -Path server.cfg, resources, txData -DestinationPath "server_files_$(Get-Date -Format yyyy-MM-dd).zip"Ejecutalo desde la carpeta que contiene esos elementos, o usa rutas completas. Salta carpetas de caché si tus copias de seguridad se vuelven enormes; se reconstruyen cuando el servidor se ejecuta.
Programalo
Linux: cron
Abre crontab con crontab -e y añade una línea. Esto ejecuta el dump todos los días a las 04:00:
0 4 * * * mysqldump --single-transaction --routines --databases es_extended > /backups/db_$(date +\%F).sqlDentro de crontab, % debe escaparse como \%. El usuario que lo ejecuta necesita acceso a la base de datos a través de un fichero de opciones, como se describe arriba.
Windows: Programador de tareas
Guarda tus comandos de copia de seguridad en un script backup.ps1, luego crea una tarea diaria:
schtasks /Create /SC DAILY /ST 04:00 /TN "FiveM backup" /TR "powershell -ExecutionPolicy Bypass -File C:\fivem\backup.ps1"O usa la aplicación Programador de tareas: crea una tarea básica, establece un desencadenador diario, y elige el script como la acción.
Elige una hora cuando pocos jugadores estén en línea, como justo antes de tu reinicio programado.
Elimina copias de seguridad antiguas
Las copias de seguridad se acumulan. Mantén, por ejemplo, las últimas 7 copias diarias y algunas semanales. Una pequeña limpieza en el script es suficiente:
find /backups -name "db_*.sql" -mtime +14 -deleteMantén copias de seguridad fuera del servidor
La regla es simple: una copia de seguridad que vive en la misma máquina no es una copia de seguridad real. Cópiala a otro lugar después de cada ejecución:
- otro servidor o máquina de casa, con
scporsyncsobre SSH, - un servicio de almacenamiento en nube, con una herramienta como
rclone, - un disco diferente que no es parte de la misma máquina, como mínimo.
Prueba que la copia llega. Comprueba el destino de vez en cuando.
Restaura una copia de seguridad
Una copia de seguridad que nunca has restaurado es una esperanza, no una copia de seguridad. Prueba una restauración en una base de datos de prueba ahora.
- Detén el servidor FiveM desde txAdmin, así nada escribe durante la restauración.
- Restaura la base de datos:
mysql -u root -p < backup.sqlPorque el dump usó --databases, recrea la base de datos en sí. Si exportaste con HeidiSQL, elige Ejecutar fichero SQL en la herramienta y selecciona el fichero.
- Devuelve
server.cfgy la carpetaresources, y la carpetatxDatasi txAdmin se perdió. - Inicia el servidor y mira la consola para errores de base de datos. Ver oxmysql connection errors si la conexión falla.
La restauración sobrescribe datos actuales en esas tablas, así que hazlo a propósito y mantén una copia del estado actual primero.
Antes de cada cambio
Antes de actualizar un framework, añadir un script que edita tablas, o ejecutar un fichero SQL de una descarga, toma un dump manual rápido. Toma segundos y ahorra muchos problemas.
Lista de verificación
| Síntoma | Solución |
|---|---|
| Sin copia de seguridad en absoluto | Ejecuta mysqldump hoy, luego programalo |
| El dump pide una contraseña en un trabajo programado | Usa un fichero de opciones con las credenciales |
| Las copias de seguridad solo están en el servidor | Cópialas a otra máquina o almacenamiento |
| El disco se llena | Elimina copias de seguridad más antiguas que tu período de retención |
| Configuración de txAdmin o administradores perdidos | Restaura la carpeta txData |
| La restauración falla en la importación | Comprueba que el fichero SQL esté completo y que el usuario de la base de datos tenga los derechos |
| No estás seguro de que la copia de seguridad funciona | Restaurala a una base de datos de prueba y comprueba las tablas |
Respuestas rápidas
¿Cuál es la cosa más importante de la que hacer copia de seguridad?
La base de datos. Los personajes, el dinero, los vehículos e inventarios viven allí, y no puedes reconstruirlos. Los recursos y la configuración pueden descargarse o recrearse, pero los datos de jugadores no.
¿Con qué frecuencia debo hacer copia de seguridad?
Haz copia de seguridad de la base de datos al menos una vez al día, y antes de cada actualización o gran cambio de script. Un servidor ocupado puede ejecutarla cada pocas horas.
¿Es suficiente una copia de seguridad en la misma máquina?
No. Un fallo de disco, un servidor eliminado o un ataque de ransomware se lleva la copia de seguridad con él. Copia las copias de seguridad a otra máquina o servicio de almacenamiento.
Scripts que evitan este problema
Tebex TemplateUn tema premium para tu tienda Tebex, sin código y editable desde el panel.Ver script →
Item Creator V2Crea items usables con animaciones, props, efectos y más — sin escribir código.Ver script →
Shop CreatorCrea una tienda en menos de un minuto — dueños, empleados, caja fuerte y atracos.Ver script →