SOLUCIONADO!! No ejecuta limpieza de Backups de sistema

¿Atascado con una automatización de Home Assistant? ¿Alguna configuración que no va? Plantea tu problema e intentaremos ayudarte
Responder
fexpositog
Mensajes: 10
Registrado: Jue Dic 13, 2018 7:55 am

SOLUCIONADO!! No ejecuta limpieza de Backups de sistema

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

Re: No ejecuta limpieza de Backups de sistema

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

Re: No ejecuta limpieza de Backups de sistema

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

Re: No ejecuta limpieza de Backups de sistema

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

Re: No ejecuta limpieza de Backups de sistema

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 {} +"

Responder