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:
- Go to Settings > Automations & scenes.
- Open an existing automation or script, or select Create automation > Create new automation.
- 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.
- In the Then do section, select Add action.
- Search for and select Create a full backup.
- Optionally, fill in the options described below.
- Select Save.
Options in the UI
The name of a network storage to host the backup. If you leave this empty, the backup is stored locally.
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:
action: hassio.backup_full
data:
name: "Manual full backup"
Options in YAML
The name of a network storage to host the backup. If you leave this out, the backup is stored locally.
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.
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.
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
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
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.
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:
-
Create a partial backup: Creates a partial backup.
-
Restore from full backup: Restores from a full backup.