Document use case of running backups conditionally based on laptop power level (#419).
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Dan Helfman 2021-06-09 10:03:35 -07:00
parent fd59776f91
commit b37dd1a79e
4 changed files with 25 additions and 3 deletions

4
NEWS
View File

@ -1,3 +1,7 @@
1.5.15.dev0
* #419: Document use case of running backups conditionally based on laptop power level:
https://torsion.org/borgmatic/docs/how-to/backup-to-a-removable-drive-or-an-intermittent-server/
1.5.14 1.5.14
* #390: Add link to Hetzner storage offering from the documentation. * #390: Add link to Hetzner storage offering from the documentation.
* #398: Clarify canonical home of borgmatic in documentation. * #398: Clarify canonical home of borgmatic in documentation.

View File

@ -16,9 +16,14 @@ But if you run borgmatic and your hard drive isn't plugged in, or your buddy's
server is offline, then you'll get an annoying error message and the overall server is offline, then you'll get an annoying error message and the overall
borgmatic run will fail (even if individual repositories still complete). borgmatic run will fail (even if individual repositories still complete).
Another variant is when the source machine is only sometimes available for
backups, e.g. a laptop where you want to skip backups when the battery falls
below a certain level.
So what if you want borgmatic to swallow the error of a missing drive So what if you want borgmatic to swallow the error of a missing drive
or an offline server, and continue trucking along? That's where the concept of or an offline server or a low battery—and exit gracefully? That's where the
"soft failure" come in. concept of "soft failure" come in.
## Soft failure command hooks ## Soft failure command hooks
@ -78,6 +83,17 @@ hooks:
- ping -q -c 1 buddys-server.org > /dev/null || exit 75 - ping -q -c 1 buddys-server.org > /dev/null || exit 75
``` ```
Or to only run backups if the battery level is high enough:
```yaml
hooks:
before_backup:
- is_battery_percent_at_least.sh 25
```
(Writing the battery script is left as an exercise to the reader.)
## Caveats and details ## Caveats and details
There are some caveats you should be aware of with this feature. There are some caveats you should be aware of with this feature.

View File

@ -2,6 +2,8 @@
Description=borgmatic backup Description=borgmatic backup
Wants=network-online.target Wants=network-online.target
After=network-online.target After=network-online.target
# Prevent borgmatic from running unless the machine is plugged into power. Remove this line if you
# want to allow borgmatic to run anytime.
ConditionACPower=true ConditionACPower=true
[Service] [Service]

View File

@ -1,6 +1,6 @@
from setuptools import find_packages, setup from setuptools import find_packages, setup
VERSION = '1.5.14' VERSION = '1.5.15.dev0'
setup( setup(