Commit Graph

24 Commits

Author SHA1 Message Date
Gabriel Filion
5c6c583181 Enable use of ionice for all handlers to alleviate IO load
On some workloads, a process creating backups should not become so
aggressive on resources that it prevents normal activity of a machine
from running. It is especially important when writing to disk.

One way to make backups have less impact on the main workload is to
force backups to a lower ionice level.

With the new ionicelevel configuration, it becomes possible for users to
activate the use of ionice and to define the level within the
best-effort class to better suit their needs.
2020-12-31 02:08:50 -05:00
Guillaume Subiron
10b8887b8e Merge branch 'borg_cache_dir_location' into 'master'
Borg cache dir location

See merge request riseuplabs/backupninja!29
2020-08-14 05:46:34 -07:00
LeLutin
e28da8c390 borg: add configuration to displace the cache directory
borg will by default create its cache directory in ~/.cache/borg. This
means that during backup runs, borg will read and write quite
extensively from/to this directory.

In some situations, it is rather undesirable to have this amount of IO
activity in this location and it would make sense to tell borg to place
its cache elsewhere. This can help for example with placing the cache on
a hard drive where the added IO load will not have as big of an impact
on other running activity for the system.

This change also makes sure that the cache directory environment
variable is cleared out when the configuration option is unset. This
should avoid unpleasant surprises when this environment variable is set
to some unknown value in the context where backupninja is called, which
could lead to borg reading and writing to random places on the system.
2020-08-14 05:46:34 -07:00
tiredpixel
3d7494bfc2 handlers/borg: add port support
This enables the handlers to be used for hosts which use a non-standard
port, such as is offered by some commercial services. Default to port
22, so it's optional and backwards-compatible.
2020-07-16 08:38:46 +00:00
Jerome Charaoui
0d9b10890e [borg] use alternative repo ssh location syntax
This adds the ability to specify an alternative SSH port within
the host variable.
2018-06-06 22:03:24 -04:00
Jerome Charaoui
0132b2453a [borg] scrap exclude*, add create_options
This allows the handler to fully make use of the advanced command-line
options for "borg create", such as the replaced "exclude*" options and
others like "--read-special" and "--numeric-owner".
2018-01-26 11:47:47 -05:00
Jerome Charaoui
e114ff68f4 [borg] remove unnecessary test on $keep 2018-01-26 11:37:04 -05:00
Jerome Charaoui
e9824c0d7d [borg] enable BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK
Otherwise the handler may hang, waiting for user input. This may occur
when the borg cache is deleted, or when borg is upgraded.
2018-01-26 11:32:04 -05:00
Jerome Charaoui
f43c85662d [borg] replace "keep*" options with simpler "keep"
The effect of "keep*" options is not straightforward to understand, so
replacing it with a simpler "keep" option, which replicates the
functionality of other backupninja handlers. This also simplifies the
helper, as the use is then only asked how many days of backups to keep.

At the same time, we add "prune_options" which allows for the use of the
"keep*" options as well as other useful prune options, like "--prefix".
2018-01-26 11:26:37 -05:00
Jerome Charaoui
fc0e0849dc [borg] add init option to allow skipping init command
In some cases it may be desirable to skip repository initialization, for
example when the repository is located at the root of a mount point.
2018-01-26 09:53:54 -05:00
Jerome Charaoui
a95457346e [borg] fix whitespace issue 2018-01-26 09:43:58 -05:00
Jerome Charaoui
6a3a8321f0 [borg] build/debug prunestr only if prune = yes 2018-01-26 09:43:58 -05:00
Jerome Charaoui
54cc8c6b32 [borg] support for --exclude-caches and --exclude-nodump 2018-01-26 09:43:58 -05:00
Jerome Charaoui
fcdbaa3447 [borg] add bwlimit config (sets --remote-ratelimit) 2018-01-26 09:43:58 -05:00
Jerome Charaoui
830a00759f [borg] add 'prune' setting to allow disabling pruning 2018-01-26 09:43:58 -05:00
Jerome Charaoui
a02a598bb5 [borg] change archive name to match borg default
Archive names must be unique, so if the backup runs more than once per
day with the previous default, it will throw and error because of the
duplicate archive name. This is also consistent with the addition of
the keephourly prune option.
2018-01-26 09:43:58 -05:00
Jerome Charaoui
245454b7dd [borg] fix default handler value for encryption 2018-01-26 09:43:58 -05:00
Jerome Charaoui
bd4c3be7ae [borg] make indentation consistent with rest of file 2018-01-26 09:43:58 -05:00
Jerome Charaoui
88adbaa990 [borg] support keephourly option 2018-01-26 09:43:58 -05:00
Ben
70873857b7 [borg] fixed connection testing (thanks @orel) 2018-01-26 09:43:58 -05:00
Ben
02d595baab [borg] added encryption support (credit to @mxroo and @leoberry) 2018-01-26 09:43:58 -05:00
Ben
23d8c68bf8 [borg] added copyright notices 2018-01-26 09:43:58 -05:00
Ben
02b6d883aa [borg] fixed pruning in test mode, don't actually run anything 2018-01-26 09:43:58 -05:00
Ben
060de6853a [borg] added support for local backups, without ssh (host=localhost) 2018-01-26 09:43:58 -05:00