Create a full backup

Use this action to create a full backup of your system. A full backup includes Home Assistant, all your apps, and their data, so you can restore everything later if something goes wrong. A common use is an automatic nightly backup, or a backup right before you install an update.

Using this action from the user interface

If you prefer building automations and scripts visually, Home Assistant walks you through this action step by step. You pick what to target, tweak a few options, and save. No YAML knowledge required.

To create a full backup from an automation or a script:

  1. Go to Settings > Automations & scenes.
  2. Open an existing automation or script, or select Create automation > Create new automation.
  3. If you’re setting up a new automation, add a trigger in the When section. Scripts don’t need a trigger. They run when something else calls them.
  4. In the Then do section, select Add action.
  5. Search for and select Create a full backup.
  6. Optionally, fill in the options described below.
  7. Select Save.

Options in the UI

Name (Optional)

A name for the backup. If you leave this empty, the current date and time are used.

Password (Optional)

A password to protect the backup with.

Compressed (Optional)

Compresses the backup files. Compression is on by default.

Location (Optional)

The name of a network storage to host the backup. If you leave this empty, the backup is stored locally.

Home Assistant exclude database (Optional)

Excludes the Home Assistant database file from the backup.

Using this action in YAML

If you work directly in YAML, or you want to know exactly what Home Assistant does under the hood, this section has the technical reference. It lists the field names you use in YAML, their types, and which ones are required.

In YAML, refer to this action as hassio.backup_full. A basic example looks like this:

ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
action: hassio.backup_full
data:
  name: "Manual full backup"

Options in YAML

name string

A name for the backup. If you leave this out, the current date and time are used.

password string

A password to protect the backup with.

compressed boolean

Compresses the backup files.

location string

The name of a network storage to host the backup. If you leave this out, the backup is stored locally.

homeassistant_exclude_database boolean

Excludes the Home Assistant database file from the backup.

Response data

This action returns the slug of the backup it created, so you can use it in later steps, for example to copy or to reference the backup.

ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
action: hassio.backup_full
data:
  name: "Manual full backup"
response_variable: backup

The backup variable then holds the slug:

backup: 1f2e3d4c

More examples

Real scenarios where this action shows up in automations and scripts. Copy any example and adapt it to your setup.

Tip

You don’t need to edit YAML to use these examples. Copy a YAML snippet from this page, open the automation editor in Home Assistant, and press Ctrl+V (or Cmd+V on Mac). Home Assistant automatically converts the pasted YAML into the visual editor format, whether it’s a full automation, a single trigger, a condition, or an action.

Automation: a full backup every night

Create a full backup automatically every night, so you always have a recent one to fall back on.

  • Trigger: Time, at 03:00
  • Action: Create a full backup
Show example YAML
AutomationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more]
alias: "Nightly full backup"
triggers:
  - trigger: time
    at: "03:00:00"
actions:
  - action: hassio.backup_full
    data:
      name: "Nightly backup"

Automation: a full backup before a core update

Create a full backup whenever an update for Home Assistant Core becomes available, so you can roll back if the update causes trouble.

  • Trigger: Home Assistant Core update becomes available
  • Action: Create a full backup
Show example YAML
AutomationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more]
alias: "Backup before a core update"
triggers:
  - trigger: state
    entity_id: update.home_assistant_core_update
    to: "on"
actions:
  - action: hassio.backup_full
    data:
      name: "Before core update"

Good to know

  • Only administrators can run this action.
  • This action is only available when you run Home Assistant Operating SystemHome Assistant OS, the Home Assistant Operating System, is an embedded, minimalistic, operating system designed to run the Home Assistant ecosystem on single board computers (like the Raspberry Pi) or Virtual Machines. It includes Home Assistant Core, the Home Assistant Supervisor, and supports apps. Home Assistant Supervisor keeps it up to date, removing the need for you to manage an operating system. Home Assistant Operating System is the recommended installation type for most users. or the Supervised installation method. It is not available on Home Assistant ContainerHome Assistant Container is a standalone container-based installation of Home Assistant Core. Any OCI compatible runtime can be used, but the documentation focus is on Docker. [Learn more] or Home Assistant CoreHome Assistant Core is the Python program at the heart of Home Assistant. It is part of all installation types. It can be installed standalone (without Home Assistant Supervisor) as a container using Docker (this is typically referred to as the Home Assistant Container installation type). For development, Core can also be run using a Virtual Environment (previously referred as the Home Assistant Core installation type). For production setup, the Home Assistant Core installation type is deprecated..
  • A backup runs in the background. Depending on the size of your system, it can take a while to finish.

Still stuck?

The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with the action you’re calling and what you expected to happen, or share on our subreddit /r/homeassistant.

Tip

AI assistants like ChatGPT or Claude can also explain actions or suggest the right one when you describe what you want in plain language.

Related actions

These actions work well alongside this one: