Documentation
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