Notifies double for each prune/check run which may need to be fixed. Also custom notification contents cannot currently be passed. Lastly, we should put identifying information into the notification body (such as the hostname/container name for which the notification is relevant).
69 lines
2.1 KiB
Markdown
69 lines
2.1 KiB
Markdown
# restic
|
|
|
|
Backup maintenance stack.
|
|
|
|
Takes care of regularly pruning the backup repository and checking its integrity.
|
|
Supports any restic backend.
|
|
Variables set here are used in other roles to individually configure their backups.
|
|
|
|
## Defaults
|
|
|
|
```yaml
|
|
restic_tz: US/Chicago
|
|
```
|
|
|
|
The timezone to be used for any cronjobs.
|
|
Inherits from the global `timezone` variable or can be set individually.
|
|
|
|
```yaml
|
|
restic_version: latest
|
|
```
|
|
|
|
The docker image version to be used in stack creation.
|
|
|
|
```yaml
|
|
restic_repo: s3.eu-central-1.wasabisys.com/myrepo
|
|
restic_pass: <restic-pass>
|
|
```
|
|
|
|
The repository url and the restic repository password.
|
|
Can be of any type restic supports
|
|
(e.g. `/path/to/backups` for local, `s3:address.to.s3.com` for S3, etc.)
|
|
See the restic documentation for more information.
|
|
|
|
```yaml
|
|
restic_s3_key: <s3-key>
|
|
restic_s3_secret: <s3-secret>
|
|
```
|
|
|
|
The restic S3 credentials, i.e. the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`.
|
|
|
|
```yaml
|
|
restic_prune_cron: 0 0 4 * * *
|
|
restic_forget_args: --prune --keep-last 14 --keep-daily 2 --keep-weekly 2
|
|
```
|
|
|
|
The default prune and forget cronjob schedule and arguments:
|
|
Prune the repository every day at 4:00 AM and keep the last 14 snapshots, 2 daily snapshots and 2 weekly snapshots.
|
|
Be aware that go-cron has an extra field in the front for seconds compared to many other implementations.
|
|
|
|
```yaml
|
|
restic_check_cron: 0 15 5 * * *
|
|
restic_check_args: --read-data-subset=5%
|
|
```
|
|
|
|
The default check cronjob schedule and arguments:
|
|
Check the repository integrity every day at 5:15 AM and in addition to structural checks,
|
|
read 5 randomly chosen % for a data integrity check.
|
|
|
|
```yaml
|
|
restic_notify_success:
|
|
restic_notify_failure:
|
|
restic_notify_exit:
|
|
```
|
|
|
|
If restic should notify the user on success/failure/exit (i.e. any outcome process finish).
|
|
Defaults to no notifications.
|
|
Uses Apprise and thus takes an [apprise URL](https://github.com/caronc/apprise/wiki) in the form of `ntfy://my-ntfy-channel`.
|
|
Setting one of these configures _both_ the prune and the check to notify the user if either is done,
|
|
so currently any success (failure/exit) notification would be doubled for each sucess (failure/exit).
|