Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keep Days - not work #114

Open
66krieger opened this issue Aug 2, 2023 · 5 comments
Open

Keep Days - not work #114

66krieger opened this issue Aug 2, 2023 · 5 comments

Comments

@66krieger
Copy link

The problem

Hi, The backups made are not deleted, despite the setting.
Where else can I look for the error?
Sören

What version of Auto Backup has the issue?

1.4.0

What version of Home Assistant are you running?

Home Assistant 2023.7.3

What type of installation are you running?

Home Assistant Supervised

If you're running HA OS/Supervised, what version of the Supervisor are you running?

No response

Example YAML snippet

description: ab 15.02.2023
use_blueprint:
  path: jcwillox/automatic_backups.yaml
  input:
    enable_hourly: false
    enable_daily: true
    enable_weekly: true
    enable_monthly: true
    enable_yearly: false
    use_action_hourly: false
    backup_action:
      - service: auto_backup.backup_full
        data:
          keep_days: 4

/config/blueprints/automation/jcwillox/automatic_backups.yaml :

blueprint:
  name: Automatic Backups
  description: 'Create backups each day and keep them for a configurable amount of
    time, backups are stored less frequently the older they are.


    By default all backups are full backups, besides the 3-hourly backups which only
    include the configuration.


    **Template Variables:**

    - `name` — backup name configured below

    - `password` — backup password configured below

    - `keep_days` — days the backup is kept for based on the current backup type

    - `backup_type` — current schedule being created, e.g., `daily`, `weekly`, `monthly`


    **Note: requires the [Auto Backup](https://jcwillox.github.io/hass-auto-backup)
    custom integration.**

    '
  domain: automation
  input:
    backup_name:
      name: Name template used for backups
      default: "{{ backup_type | title }}Backup: {{\n  now().strftime(\n    \"%A,
        \"\n    ~ iif(backup_type == \"hourly\", \"%-I:%M %p, \", \"\")\n    ~ \"%B
        %-d, %Y\"\n  )\n}}\n{# HourlyBackup: Monday, 3:04 PM, January 2, 2006 #}\n{#
        DailyBackup: Monday, January 2, 2006 #}\n"
      selector:
        template: {}
    backup_time:
      name: Time of day to create backups
      default: 02:30:00
      selector:
        time: {}
    backup_password:
      name: Backup Password (Optional)
      default: ''
      selector:
        text:
          type: password
          multiline: false
    enable_hourly:
      name: 'Enable: Hourly Backups'
      description: Create a backup every 3 hours and store for 2 days
      default: false
      selector:
        boolean: {}
    enable_daily:
      name: 'Enable: Daily Backups'
      description: Create a backup each day and store for a week
      default: true
      selector:
        boolean: {}
    enable_weekly:
      name: 'Enable: Weekly Backups'
      description: Create a backup each week and store for a month
      default: true
      selector:
        boolean: {}
    enable_monthly:
      name: 'Enable: Monthly Backups'
      description: Create a backup each month and store for a year
      default: true
      selector:
        boolean: {}
    enable_yearly:
      name: 'Enable: Yearly Backups'
      description: Create a backup each year and store forever
      default: true
      selector:
        boolean: {}
    use_action_hourly:
      name: Use Backup Action for Hourly Backups Only
      description: Otherwise, it will be used for all backup types
      default: true
      selector:
        boolean: {}
    backup_action:
      name: Backup Action (Optional)
      description: 'Optionally override the built-in backup action with a custom action,
        designed to allow greater control over what is included in each backup.


        By default this only overrides the 3-hourly backups, so that they only include
        the configuration.

        '
      default:
      - service: auto_backup.backup
        data:
          name: '{{ name }}'
          password: '{{ password }}'
          keep_days: '{{ keep_days }}'
          include_folders:
          - config
      selector:
        action: {}
    condition:
      name: Condition (Optional)
      description: Condition to test before any action
      default: []
      selector:
        action: {}
  source_url: https://raw.githubusercontent.com/jcwillox/home-assistant-blueprints/main/automation/automatic_backups.yaml
mode: single
variables:
  password: !input backup_password
  enable_hourly: !input enable_hourly
  enable_daily: !input enable_daily
  enable_weekly: !input enable_weekly
  enable_monthly: !input enable_monthly
  enable_yearly: !input enable_yearly
  use_action_hourly: !input use_action_hourly
trigger:
- id: daily
  platform: time
  at: !input backup_time
- id: hourly
  enabled: !input enable_hourly
  platform: time_pattern
  hours: /3
condition: !input condition
action:
- if:
    condition: trigger
    id: daily
  then:
  - choose:
    - conditions:
      - '{{ enable_yearly }}'
      - '{{ now().day == 1 and now().month == 1 }}'
      sequence:
      - variables:
          backup_type: yearly
          keep_days:
      - &id001
        variables:
          name: !input backup_name
          backup_action: !input backup_action
      - &id002
        if:
        - '{{ not use_action_hourly }}'
        - '{{ backup_action | length > 0 }}'
        then: !input backup_action
        else:
        - alias: Creating a full backup (default action)
          service: auto_backup.backup
          data:
            name: '{{ name }}'
            password: '{{ password }}'
            keep_days: '{{ keep_days }}'
    - conditions:
      - '{{ enable_monthly }}'
      - '{{ now().day == 1 }}'
      sequence:
      - variables:
          backup_type: monthly
          keep_days: 365
      - *id001
      - *id002
    - conditions:
      - '{{ enable_weekly }}'
      - '{{ now().weekday() == 0 }}'
      sequence:
      - variables:
          backup_type: weekly
          keep_days: 30.4167
      - *id001
      - *id002
    - conditions:
      - '{{ enable_daily }}'
      sequence:
      - variables:
          backup_type: daily
          keep_days: 7
      - *id001
      - *id002
  else:
  - variables:
      backup_type: hourly
      keep_days: 2
  - *id001
  - if: '{{ backup_action | length > 0 }}'
    then: !input backup_action
    else:
    - alias: Creating a partial backup (default action)
      service: auto_backup.backup
      data:
        name: '{{ name }}'
        password: '{{ password }}'
        keep_days: '{{ keep_days }}'
        include_folders:
        - config

Anything in the logs that might be useful for us?

No response

Additional information

No response

@hvorragend
Copy link

I also use your blueprint and notice that there are always outdated backups in Supervisor. These backups (Hourly) were created by AutoBackup, but the slug name is not included in the file /config/.storage/auto_backup.snapshots_expiry.
I've been observing this for a few weeks now and have absolutely no explanation for it. It is not fundamentally due to the backup type, because other hourly backups of Auto-Backup will be removed.

I see no pattern, no logic and no dependence on anything (e.g. manual deletions, backup errors).

@spry-salt
Copy link

Same. It seems to happen more when another service creates a backup (e.g. when you're offered to make a backup before upgrading part of HASS) and then this AutoBackup seems to lose track of backups prior to that. I often have to go and manually delete them.

@tingles2233
Copy link

Same on my install. Old backups are not being removed as per the "keep_days" flag.

@OneCyrus
Copy link

same issue. these days almost no backups are deleted anymore. every couple of weeks i need to manually cleanup when the disk gives me a low free space warning.
would be great to get this working again.

@fantnhu
Copy link

fantnhu commented Jan 22, 2024

Same error. I create the backups with Node-Red, they succeed. I run the purge before every new save (they are set to 2 days).
Unfortunately, it doesn't delete anything, it doesn't monitor anything, it just makes new ones.
image
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants