Cómo recuperar una base de datos de Home Assistant a partir de una copia de seguridad fiable

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

Una copia de seguridad fiable de la base de datos de Home Assistant es más útil cuando primero decides qué quieres recuperar exactamente. Si toda la instalación de Home Assistant debe volver al punto de la copia de seguridad, utiliza el flujo de restauración compatible de Home Assistant. Si la configuración está bien y solo necesitas recuperar el historial de Recorder, una restauración exclusiva de la base de datos puede evitar sobrescribir automatizaciones e integraciones más recientes.

No sustituyas la base de datos activa mientras Home Assistant esté escribiendo en ella. Conserva primero la base de datos actual, detén Home Assistant o, de algún otro modo, pausa Recorder, restaura la copia fiable en una ubicación aislada o controlada y, después, inicia y verifica el sistema antes de eliminar cualquiera de las versiones.

Elige una restauración completa de Home Assistant o una recuperación exclusiva de la base de datos

Una restauración completa de una copia de seguridad de Home Assistant reemplaza el estado actual de la aplicación por el contenido de la copia. Esto es adecuado cuando quieres que la configuración, las integraciones, las aplicaciones y la base de datos vuelvan al mismo punto conocido.

La acción actual de restauración de una copia completa advierte explícitamente que los cambios actuales serán sobrescritos por el estado de la copia de seguridad. Si el único problema afecta al historial de Recorder, ese alcance puede ser más amplio de lo necesario.

Para una recuperación exclusiva de la base de datos, identifica la copia exacta y fiable de la base de datos de Recorder y mantén intacto el árbol de configuración actual. Documenta la fecha y hora de la copia para saber cuánto historial se perderá al volver a ella.

Confirma qué base de datos está utilizando realmente Home Assistant

Home Assistant utiliza SQLite de forma predeterminada, almacenado en /config/home-assistant_v2.db, pero Recorder puede apuntar en su lugar a MariaDB, MySQL o PostgreSQL mediante db_url. No copies un archivo SQLite en una implementación que en realidad escriba en una base de datos externa.

SQLite es la base de datos predeterminada de Recorder en Home Assistant y normalmente se almacena como /config/home-assistant_v2.db; Recorder también puede configurarse para utilizar una base de datos externa compatible mediante db_url. Comprueba la configuración efectiva de Recorder antes de tocar los archivos para asegurarte de que el recurso de recuperación corresponde a la base de datos que Home Assistant está utilizando realmente.

Si la base de datos es externa, restáurala con el método de copia de seguridad propio del motor de base de datos y coordina la versión de la aplicación con el esquema. No consideres intercambiables un volcado SQL y un archivo SQLite como recursos de recuperación.

Detén las escrituras antes de sustituir un archivo de base de datos SQLite

Si tu copia fiable es una copia física limpia de home-assistant_v2.db, detén Home Assistant antes de sustituir el archivo activo. Conserva la base de datos actual con un nombre diferente en lugar de eliminarla.

La propia documentación de copias de seguridad de SQLite explica que una copia de la base de datos debe representar una instantánea coherente; la API de copias de seguridad en línea de SQLite existe específicamente para crear una copia coherente mientras la base de datos está activa. Una copia fiable realizada con el sistema detenido o una copia de seguridad en línea consciente de la base de datos es más segura que una copia arbitraria de archivos realizada durante las escrituras.

Confirma también que no se esté mezclando con la copia restaurada ningún estado WAL o de diario auxiliar procedente de la base de datos dañada. Empieza con el recurso de recuperación fiable completo, no con una combinación de archivos de distintas fechas y horas.

Empieza con la copia de seguridad intacta y deja que Home Assistant la valide

Coloca la base de datos restaurada en la ruta esperada, con el propietario y los permisos correctos; después, inicia Home Assistant y observa los registros de Recorder. No ejecutes tareas de purgado, compactación ni mantenimiento SQL manual durante el primer arranque de validación.

Si el esquema de la base de datos es anterior a la versión actual de Home Assistant, Recorder podría tener que migrarlo. Deja que el proceso termine antes de evaluar el rendimiento o reiniciar de nuevo. Evita alternar entre versiones antiguas y nuevas de Home Assistant sobre la misma base de datos restaurada, porque las migraciones de esquema no son un mecanismo general de degradación.

Una guía práctica de recuperación demuestra el mismo principio controlado: trabaja con copias e inicia Home Assistant solo después de que la base de datos de sustitución esté lista.

Valida el historial antes de eliminar la base de datos dañada

  • Confirma que Recorder se inicia sin errores de corrupción o migración.
  • Abre Historial y Registro para un intervalo de tiempo que debería existir en la copia de seguridad.
  • Comprueba las estadísticas a largo plazo o los datos de Energía si esos registros son importantes para ti.
  • Provoca un cambio de estado y confirma que se escribe historial nuevo después del punto de restauración.
  • Reinicia Home Assistant una vez y confirma que Recorder vuelve a abrir la misma base de datos.

La guía de ZimaSpace sobre copias de seguridad coherentes con la base de datos y pruebas de restauración se aplica directamente: una copia de seguridad solo se vuelve fiable cuando la base de datos la acepta y la aplicación puede escribir estados nuevos después de la restauración.

Conserva la base de datos dañada hasta que se supere esta prueba de aceptación. Es posible que aún contenga historial más reciente que pueda examinarse o recuperarse de forma selectiva si la copia fiable es más antigua de lo esperado.

Preguntas frecuentes

¿Puedo restaurar solo el historial de Home Assistant sin revertir mis automatizaciones?

Sí, si tienes una copia fiable de la base de datos de Recorder y la configuración actual de Home Assistant está en buen estado. Detén las escrituras, conserva la base de datos actual, restaura solo la base de datos de Recorder y valídala antes de realizar la limpieza.

¿Debería restaurar una copia de seguridad de la base de datos creada con una versión mucho más antigua de Home Assistant?

Solo con precaución. Una versión más reciente de Home Assistant puede migrar hacia delante un esquema antiguo de Recorder, pero degradar versiones y alternarlas repetidamente sobre una misma base de datos es arriesgado. Conserva copias de seguridad y utiliza una ruta de recuperación compatible.

Soporte y Consejos

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.