Información
Actualidad
Aquí encontraras noticias de actualidad sobre Gnu Linux y Open Source.

Además de información sobre la comunidad LiGNUx.
Distribuciones y entornos
Información ordenada sobre los diferenes sistema operativos Gnu Linux y las diferentes opciones de entornos gráficos.
Tutoriales y guías
Todos los pasos e informaciones que puedes desear para tu día a día.
Tutoriales
Tutoriales
Programación
Programación
About Us
Get to know the people behind the code and the mission behind the work
how we handle data
Privacy
Security
Legal

Guía completa para configurar un sistema de copias de seguridad en Home Assistant

29 noviembre, 2024

Vamos a configurar un sistema de copias de seguridad para Home Assistant. Para ello, utilizaremos comandos a través de SSH, siguiendo las instrucciones detalladas en esta entrada: Uso de Scripts y Comandos SSH en Home Assistant. Esto nos permitirá establecer una comunicación eficaz entre Home Assistant y el sistema en el que está instalado.

Esta guía la he realizado con Homeassistant en Docker, pero funciona exactamente igual sin él solo cambiando las rutas por las de vuestro sistema.

Requisitos previos:

Lo primero que tenemos que hacer si no lo tenemos es instalar el paquete zip para poder comprimir los "backup" y que ocupen menos espacio, pero antes actualizamos como siempre el sistema:

y después instalamos el paquete zip:

Estrategia:

Seguidamente tenemos que pensar como vamos a hacer las copias de seguridad, lo ideal es hacerlo en un sitio fuera de la misma microsd (o hdd) donde esté el sistema, para que ante un fallo de la misma no comprometamos también las copias de seguridad, cuando lo tengamos nos guardamos la ruta ya que nos hará falta para mas adelante, en mi caso:

Script BASH:

Vamos a empezar a crear el archivo llamado backup_ha.sh para que ejecute la copia de seguridad con el siguiente código:

La primera ruta que en mi caso es /media/backup_ha/ es donde se van a guardar los archivos .zip con la copia de seguridad, esto teneis que cambiarlo por la ruta donde van vuestras copias de seguridad asegurandose siempre de tener permisos de escritura en dicha carpeta.

La segunda ruta que en mi caso es /media/docker/homeassistant/ es la ruta donde teneis vuestra instalación de Homeassistant, si teneis Homeassistant en una Raspberrypi seguramente la ruta seria algo así: /home/homeassistant/.homeassistant/

Toda la parte del final del comando son las rutas y archivos que se excluyen de la copia de seguridad: -x "*.db" esto excluiría cualquier archivo con extensión .db, podéis modificarlo para incluir o excluir los archivos que queráis, pero tener cuidado de no copiar archivos en uso como la base de datos, que además no tiene sentido guardarlos.

El archivo backup_ha.sh lo dejamos en la carpeta /config de Homeassistant.

Ahora hay que crear una serie de códigos para cada uno de los elementos del sistema de copia de seguridad para Homeassistant como son sensores, grupo, automation, shell_command, script y customize. Cada uno se hace en su correspondiente sitio en función de como tengáis los include del sistema, aquí Splitting up the configuration podéis encontrar mas información.

script:

Copiamos y pegamos el siguiente código en la parte de script de tu sistema:

shell_command:

El siguiente código en la parte de shell_command:

En este comando hay que cambiar la ip por la de vuestro sistema, y la ruta por la vuestra donde habeis guardado el archivo backup_ha.sh

sensor:

Sensor último backup

Ahora vamos a crear los sensores para que nos muestre una serie de datos interesantes para nuestro sistema de copias de seguridad. Este sensor nos muestra en pantalla el nombre del fichero de la última copia de seguridad, modificar la ruta por la vuestra donde vais a guardar las copias de seguridad y el usuario e ip por vuestro sistema:

Sensor tamaño total

Este sensor nos muestra en pantalla el tamaño total de la carpeta donde se guardan las copias de seguridad, si en ella guardais mas cosas habría que hacer un filtro para que seleccione solo los archivos que queramos, si no dará un dato erróneo para nosotros. Igualmente hay que cambiar la ruta por la vuestra:

Sensor numero de backup

Este nos muestra en pantalla el numero total de archivos dentro de la carpeta donde se guardan las copias de seguridad, también teneis que cambiar la ruta por la vuestra e igualmente si hay en esa carpeta otros archivos os va a dar un dato que no es fiable:

group:

En esta parte pondremos los diferentes elementos en un grupo para visualizarlos, si queréis personalizarlo podéis leeros la guía de grupos "Organizando tu hogar inteligente: Grupos, pestañas y paneles en Home Assistant"

automation:

Vamos a crear además un automation para que nos ejecute una copia a diario, en este caso se haría todos los días a las 00:00h:

customize:

Aquí vamos a dejar un poco bonita la tarjeta donde van todos los elementos, podéis modificar los iconos y los nombres a vuestro gusto personal:

Los archivos de copia de seguridad se van guardando en la carpeta elegida en el comando backup_ha.sh:

ACTUALIZACIÓN SEGURIDAD

Ya que tenemos dentro de las copias de seguridad el archivo "secrets.yaml" y dentro de el hay muchas contraseñas que no deberíamos dejar acceder a nadie, he pensado en modificar un poco el comando para que al hacer el zip se haga con contraseña, hay un problema con todo esto, y es que la contraseña que pongas se va a quedar guardada como texto plano en los logs del sistema ya que se envía como texto plano en la orden, así que si queréis hacerlo tened esto en cuenta y poner una clave larga y diferente a las demás que uséis, de todas maneras para verla alguien tendría que tener acceso root a tu sistema, de cualquier manera es mejor ponerla que no, lo he pensado por si quieres dejar los backup en Dropbox o cualquier otro sitio de almacenamiento en la nube.

Sería poniendo después de zip esto: -P password

Así quedaría el comando:

ACTUALIZACIÓN COPIA EN UNIDAD EXTERNA

Es probable que quieras que tu backup se almacene en otra unidad o en una nube por ejemplo, gracias al cual podrás hacer una copia de tu backup en un servidor FTP

Escrito por Noel

Buenas, me llamo Noel, soy un divulgador y amante del software libre y Gnu Linux.
Usuario inquieto por ver las novedades y dar a conocer a todos las grandes ventajas del software libre y Gnu Linux.

Suscribirse
Notificarme las
guest
0 Comentarios
Los más recientes
Los más antiguos Más votados
Feedbacks en línea
Ver todos los comentarios
LiGNUx trabaja sobre una licencia de Creative Commons Reconocimiento 4.0 Internacional.
cloudflagpaperclipprinterfile-emptyfilm-playcamera-videopicturelaptop-phonebriefcasecrossmenu
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram