¿Atascado con una automatización de Home Assistant? ¿Alguna configuración que no va? Plantea tu problema e intentaremos ayudarte
-
fexpositog
- Mensajes: 10
- Registrado: Jue Dic 13, 2018 7:55 am
Mensaje
por fexpositog » Lun Dic 31, 2018 1:25 pm
Tengo un problema y es de código Raspbian(creo).
NO ME HACE LIMPIEZA DE BACKUP´s
He creado un archivo .sh de limpieza al igual que tengo con backup y luego tengo un archivo yaml donde está el shell command y finalmente un script que llama a ejecutar limpieza
Pongo código:
Código: Seleccionar todo
# BACKUP (archivo .sh)
#!/bin/bash
cd /media/Backup_ha/backup_ha && zip -r "HA-backup-$(date +"%Y-%m-%d_%H-%M").zip" /home/homeassistant/.homeassistant/ -x "*.log" -x "/*tts/*" -x "*.db" -x "*.db-shm" -x "*.db-wal" -x "*.mp3" -x "/*deps/*" -x "/*www/camera_shots/*" -x "/*.git/*" -x "/*shell/gif_maker/venv/*"
CREO QUE AQUÍ DEBE ESTAR EL PROBLEMA
y este el de LIMPIEZA (archivo .sh)
# limpieza backup
#!/bin/bash
find /media/Backup_ha/backup_ha -mtime +{{ states.input_number.days_cleanbackup_ha.state | int }} -exec rm {} \;
Archivo .yaml de limpieza
# Limpieza de Backup de homeassistant
backup_clean_ha: ssh pi@127.0.0.1 sudo bash /home/homeassistant/.homeassistant/backup_clean_ha.sh
Script de limpieza
# Limpieza Backup HA
'1535632359714':
alias: Limpieza Backups HA
sequence:
service: shell_command.backup_clean_ha
Alguna sugerencia?
Última edición por
fexpositog el Mié Ene 02, 2019 7:08 pm, editado 1 vez en total.
-
pedro
- Mensajes: 14
- Registrado: Lun Dic 17, 2018 1:20 pm
Mensaje
por pedro » Lun Dic 31, 2018 8:03 pm
fexpositog escribió: ↑Lun Dic 31, 2018 1:25 pm
Tengo un problema y es de código Raspbian(creo).
NO ME HACE LIMPIEZA DE BACKUP´s
He creado un archivo .sh de limpieza al igual que tengo con backup y luego tengo un archivo yaml donde está el shell command y finalmente un script que llama a ejecutar limpieza
Pongo código:
Código: Seleccionar todo
# BACKUP (archivo .sh)
#!/bin/bash
cd /media/Backup_ha/backup_ha && zip -r "HA-backup-$(date +"%Y-%m-%d_%H-%M").zip" /home/homeassistant/.homeassistant/ -x "*.log" -x "/*tts/*" -x "*.db" -x "*.db-shm" -x "*.db-wal" -x "*.mp3" -x "/*deps/*" -x "/*www/camera_shots/*" -x "/*.git/*" -x "/*shell/gif_maker/venv/*"
CREO QUE AQUÍ DEBE ESTAR EL PROBLEMA
y este el de LIMPIEZA (archivo .sh)
# limpieza backup
#!/bin/bash
find /media/Backup_ha/backup_ha -mtime +{{ states.input_number.days_cleanbackup_ha.state | int }} -exec rm {} \;
|
|
v
---> la shell no evalua esta variable, tienes que pasarsela como argumento desde HA
Archivo .yaml de limpieza
# Limpieza de Backup de homeassistant
backup_clean_ha: ssh pi@127.0.0.1 sudo bash /home/homeassistant/.homeassistant/backup_clean_ha.sh
Script de limpieza
# Limpieza Backup HA
'1535632359714':
alias: Limpieza Backups HA
sequence:
service: shell_command.backup_clean_ha
Alguna sugerencia?
-
fexpositog
- Mensajes: 10
- Registrado: Jue Dic 13, 2018 7:55 am
Mensaje
por fexpositog » Mar Ene 01, 2019 8:18 am
pedro escribió: ↑Lun Dic 31, 2018 8:03 pm
fexpositog escribió: ↑Lun Dic 31, 2018 1:25 pm
Tengo un problema y es de código Raspbian(creo).
NO ME HACE LIMPIEZA DE BACKUP´s
He creado un archivo .sh de limpieza al igual que tengo con backup y luego tengo un archivo yaml donde está el shell command y finalmente un script que llama a ejecutar limpieza
Pongo código:
Código: Seleccionar todo
# BACKUP (archivo .sh)
#!/bin/bash
cd /media/Backup_ha/backup_ha && zip -r "HA-backup-$(date +"%Y-%m-%d_%H-%M").zip" /home/homeassistant/.homeassistant/ -x "*.log" -x "/*tts/*" -x "*.db" -x "*.db-shm" -x "*.db-wal" -x "*.mp3" -x "/*deps/*" -x "/*www/camera_shots/*" -x "/*.git/*" -x "/*shell/gif_maker/venv/*"
CREO QUE AQUÍ DEBE ESTAR EL PROBLEMA
y este el de LIMPIEZA (archivo .sh)
# limpieza backup
#!/bin/bash
find /media/Backup_ha/backup_ha -mtime +{{ states.input_number.days_cleanbackup_ha.state | int }} -exec rm {} \;
|
|
v
---> la shell no evalua esta variable, tienes que pasarsela como argumento desde HA
Archivo .yaml de limpieza
# Limpieza de Backup de homeassistant
backup_clean_ha: ssh pi@127.0.0.1 sudo bash /home/homeassistant/.homeassistant/backup_clean_ha.sh
Script de limpieza
# Limpieza Backup HA
'1535632359714':
alias: Limpieza Backups HA
sequence:
service: shell_command.backup_clean_ha
Alguna sugerencia?
Cómo haría para pasar esa variable como número desde HA ?
-
pedro
- Mensajes: 14
- Registrado: Lun Dic 17, 2018 1:20 pm
Mensaje
por pedro » Mar Ene 01, 2019 2:26 pm
configuration.yaml:
shell_command:
backup_clean_ha: '/bin/bash /home/homeassistant/.homeassistant/backup_clean_ha.sh {{ states.input_number.days_cleanbackup_ha.state | int }}'
backup_clean_ha.sh:
# limpieza backup
#!/bin/bash
find /media/Backup_ha/backup_ha -mtime +$1 -exec rm {} \;
Siempre que el propietario de los ficheros sea el usuario homeassistant y pueda borrarlos.
Si no, en el backup cambia los permisos de los ficheros con chmod 666 fichero.zip, o el propietario con chown homeassistant fichero.zip.
-
fexpositog
- Mensajes: 10
- Registrado: Jue Dic 13, 2018 7:55 am
Mensaje
por fexpositog » Mié Ene 02, 2019 7:01 pm
Finalmente lo he solucionado gracias a Pedro y Dieguito Cigala, ambos del grupo de Telegram.
Finalmente en el archivo backup_clean_ha.yaml hice las dos acciones que hacían anteriormente los dos archivos .yaml y .sh (backup_clean_ha.yaml y backup_clean_ha.sh), de esta forma está todo integrado en un mismo archivo y menos código repartido.
shell_command
backup_clean_ha.yaml
Código: Seleccionar todo
backup_clean_ha: "ssh pi@127.0.0.1 sudo find /media/Backup_ha/backup_ha -mtime +{{ states.input_number.days_cleanbackup_ha.state | int }} -exec rm {} +"