From 6fd05902e2d6ffb8920ffa094a2f7e96e0979de4 Mon Sep 17 00:00:00 2001 From: Matthias Leutenegger Date: Wed, 11 Sep 2019 16:06:18 +0200 Subject: [PATCH] add prune option --- README.md | 45 ++++++++++++++++---------------- templates/restic_script_Linux.j2 | 2 +- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index d3d08c8..3df800e 100644 --- a/README.md +++ b/README.md @@ -110,28 +110,29 @@ Repository defined in `restic_repos`. Available variables: -| Name | Required (Default) | Description | -| ------------------ |:-----------------------------:| ----------------------------------------------------------------------------------------------------------------------- | -| `name` | yes | The name of this backup. Used together with pruning and scheduling and needs to be unique. | -| `repo` | yes | The name of the repository to backup to. | -| `src` | yes | The source directory or file | -| `stdin` | no | Is this backup created from a [stdin](https://restic.readthedocs.io/en/stable/040_backup.html#reading-data-from-stdin)? | -| `stdin_cmd` | no (yes if `stdin` == `true`) | The command to produce the stdin. | -| `stdin_filename` | no | The filename used in the repository. | -| `tags` | no | Array of default tags | -| `keep_last` | no | If set, only keeps the last n snapshots. | -| `keep_hourly` | no | If set, only keeps the last n hourly snapshots. | -| `keep_daily` | no | If set, only keeps the last n daily snapshots. | -| `keep_weekly ` | no | If set, only keeps the last n weekly snapshots. | -| `keep_monthly` | no | If set, only keeps the last n monthly snapshots. | -| `keep_yearly ` | no | If set, only keeps the last n yearly snapshots. | -| `keep_within` | no | If set, only keeps snapshots in this time period. | -| `keep_tag` | no | If set, keep snapshots with this tags. Make sure to specify a list. | -| `scheduled` | no (`false`) | If `restic_create_cron` is set to `true`, this backup is scheduled. | -| `schedule_minute` | no (`*`) | Minute when the job is run. ( 0-59, *, */2, etc ) | -| `schedule_hour` | no (`*`) | Hour when the job is run. ( 0-23, *, */2, etc ) | -| `schedule_weekday` | no (`*`) | Weekday when the job is run. ( 0-6 for Sunday-Saturday, *, etc ) | -| `schedule_month` | no (`*`) | Month when the job is run. ( 1-12, *, */2, etc ) | +| Name | Required (Default) | Description | +| ------------------ |:-----------------------------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | yes | The name of this backup. Used together with pruning and scheduling and needs to be unique. | +| `repo` | yes | The name of the repository to backup to. | +| `src` | yes | The source directory or file | +| `stdin` | no | Is this backup created from a [stdin](https://restic.readthedocs.io/en/stable/040_backup.html#reading-data-from-stdin)? | +| `stdin_cmd` | no (yes if `stdin` == `true`) | The command to produce the stdin. | +| `stdin_filename` | no | The filename used in the repository. | +| `tags` | no | Array of default tags | +| `keep_last` | no | If set, only keeps the last n snapshots. | +| `keep_hourly` | no | If set, only keeps the last n hourly snapshots. | +| `keep_daily` | no | If set, only keeps the last n daily snapshots. | +| `keep_weekly ` | no | If set, only keeps the last n weekly snapshots. | +| `keep_monthly` | no | If set, only keeps the last n monthly snapshots. | +| `keep_yearly ` | no | If set, only keeps the last n yearly snapshots. | +| `keep_within` | no | If set, only keeps snapshots in this time period. | +| `keep_tag` | no | If set, keep snapshots with this tags. Make sure to specify a list. | +| `prune` | no (`false`) | If `true`, the `restic forget` command in the script has the [`--prune` option](https://restic.readthedocs.io/en/stable/060_forget.html#removing-backup-snapshots) appended. | +| `scheduled` | no (`false`) | If `restic_create_cron` is set to `true`, this backup is scheduled. | +| `schedule_minute` | no (`*`) | Minute when the job is run. ( 0-59, *, */2, etc ) | +| `schedule_hour` | no (`*`) | Hour when the job is run. ( 0-23, *, */2, etc ) | +| `schedule_weekday` | no (`*`) | Weekday when the job is run. ( 0-6 for Sunday-Saturday, *, etc ) | +| `schedule_month` | no (`*`) | Month when the job is run. ( 1-12, *, */2, etc ) | ## Dependencies none diff --git a/templates/restic_script_Linux.j2 b/templates/restic_script_Linux.j2 index ac3f655..df536d8 100644 --- a/templates/restic_script_Linux.j2 +++ b/templates/restic_script_Linux.j2 @@ -68,4 +68,4 @@ fi {# Define stdin forget commands #} -{{ restic_install_path }}/restic forget --path {{ path(item) }} {{ retention_pattern(item) }} +{{ restic_install_path }}/restic forget --path {{ path(item) }} {{ retention_pattern(item) }} {% if item.prune is defined and item.prune == true %}--prune{% endif %}