Documentation
PLEASE NOTE: This document applies to latest version and not to the latest stable release v2.20
Documentation for other releases can be found by using the version selector in the top right of any doc page.borgmatic
Manage Borg/Borgmatic backups with support for create, extract, prune, and check operations. Borg is a deduplicating archiver with compression and authenticated encryption. Borgmatic is a wrapper that simplifies backup configuration and automation.
Attributes
check_mode:
support: partial
Parameters
| Parameter | Required | Type | Values | Description |
|---|---|---|---|---|
| archive | string | Archive name pattern for extract or list operations. | ||
| borgmatic_opts | array | Additional borgmatic options. | ||
| compression | string | Compression algorithm (e.g., none, lz4, zstd, zstd,1-22, zlib, lzma). | ||
| config_path | true | string | Path to the borgmatic configuration file. | |
| environment | array | Environment variables for borgmatic (e.g., BORG_REMOTE_PATH). | ||
| exclude_patterns | array | File patterns to exclude from backup. | ||
| extract_path | string | Directory to extract files into. Required for state=extract. | ||
| keep_daily | integer | Retain daily archives. | ||
| keep_last | integer | Retain the n most recent archives. | ||
| keep_monthly | integer | Retain monthly archives. | ||
| keep_weekly | integer | Retain weekly archives. | ||
| keep_yearly | integer | Retain yearly archives. | ||
| passphrase | string | Repository passphrase for encryption/decryption. | ||
| repository | string | Borg repository path. Overrides the repository in config. | ||
| state | string | create extract prune check list |
Action to perform: create, extract, prune, check, or list. |
Examples
- name: Create a backup using borgmatic config
borgmatic:
config_path: /etc/borgmatic.d/my_backup.yaml
state: create
- name: Create backup with custom repository and passphrase
borgmatic:
config_path: /etc/borgmatic.d/my_backup.yaml
repository: /mnt/backups/my_repo
passphrase: "{{ vault.borg_passphrase }}"
state: create
compression: zstd
- name: Create backup with exclusion patterns
borgmatic:
config_path: /etc/borgmatic.d/my_backup.yaml
state: create
exclude_patterns:
- "*.tmp"
- "/home/*/.cache"
- name: Extract archive to a target directory
borgmatic:
config_path: /etc/borgmatic.d/my_backup.yaml
passphrase: "{{ vault.borg_passphrase }}"
state: extract
archive: my-backup-2024-01-15
extract_path: /tmp/restore
- name: Prune old archives with retention policy
borgmatic:
config_path: /etc/borgmatic.d/my_backup.yaml
state: prune
keep_daily: 7
keep_weekly: 4
keep_monthly: 6
- name: Check repository integrity
borgmatic:
config_path: /etc/borgmatic.d/my_backup.yaml
passphrase: "{{ vault.borg_passphrase }}"
state: check
- name: List archives in repository
borgmatic:
config_path: /etc/borgmatic.d/my_backup.yaml
state: list
- name: Run create and prune together
borgmatic:
config_path: /etc/borgmatic.d/my_backup.yaml
state: create
keep_daily: 7
keep_weekly: 4