Commit Graph

328 Commits

Author SHA1 Message Date
Dan Helfman c12c47cace Fix "borgmatic list --successful" with a slightly better heuristic for listing successful (non-checkpoint) archives.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-10-16 10:24:58 -07:00
Dan Helfman 128ebf04ce Dead man's switch via healthchecks.io integration (#223) + new monitoring documentation.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-10-15 10:49:14 -07:00
Dan Helfman 7b3b28616d Add "borgmatic list --successful" flag to only list successful (non-checkpoint) archives (#86).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-10-13 15:58:11 -07:00
Dan Helfman f3910f49ca Fix incorrect help on borg list --last flag. 2019-10-13 14:46:28 -07:00
Dan Helfman 1d37b14356 More detailed error alerting via runtime context available in "on_error" hook (#174).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-10-01 12:23:16 -07:00
Dan Helfman 6c617eddd5 When backups to one of several repositories fails, keep backing up to the other repositories (#144).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-30 22:19:31 -07:00
Dan Helfman e14ebee4e0 User-defined hooks for global setup or cleanup that run before/after all actions. (#192).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-28 16:18:10 -07:00
Dan Helfman a897ffd514 Fix "borgmatic create --progress" output so that it updates on the console in real-time (#221).
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone/push Build is passing Details
2019-09-25 12:03:10 -07:00
Dan Helfman 07222cd984 Fix visibility of "borgmatic prune --stats" output (#219).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-23 13:07:51 -07:00
Dan Helfman 340bd72176 Fix regression of argument parsing for default actions (#220).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-22 11:30:58 -07:00
Dan Helfman 1a1bb71af1 Fix error with "borgmatic check --only" command-line flag with "extract" consistency check (#217).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-20 11:43:27 -07:00
Dan Helfman ae45dfe63a Clarify command-like help for check --only.
continuous-integration/drone/push Build is passing Details
2019-09-19 15:20:05 -07:00
Dan Helfman 81739791e0 Override configured consistency checks via "borgmatic check --only" command-line flag (#210).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-19 11:43:53 -07:00
Dan Helfman 4cdff74e9b Support for Borg check --verify-data flag via borgmatic "data" consistency check (#210).
continuous-integration/drone/push Build is passing Details
2019-09-18 16:52:27 -07:00
Dan Helfman f2198de151 Merge branch 'comments-white-space' of polyzen/borgmatic into master
continuous-integration/drone/push Build was killed Details
2019-09-18 21:03:56 +00:00
Daniel M. Capella 0c439c0c02
Add space to separate comments from tokens
https://yaml.org/spec/1.2/spec.html#id2780069
2019-09-17 20:00:58 -04:00
Dan Helfman f11a9bb4aa Revert "Fix for spurious Borg traceback when initializing a repository in an empty directory (#201)."
continuous-integration/drone/push Build is passing Details
This reverts commit 9585c8f908.
2019-09-14 16:14:20 -07:00
Dan Helfman 9585c8f908 Fix for spurious Borg traceback when initializing a repository in an empty directory (#201).
continuous-integration/drone/push Build is failing Details
2019-09-13 13:08:23 -07:00
Dan Helfman 67ab2acb82 Fix for hook erroring with exit code 1 not being interpreted as an error (#214).
continuous-integration/drone/push Build is passing Details
2019-09-12 16:37:43 -07:00
Dan Helfman c085bacccf Reorder arguments passed to Borg to fix duplicate directories when using Borg patterns (#213).
continuous-integration/drone/push Build is passing Details
2019-09-12 15:27:04 -07:00
Dan Helfman 896401088e Fix for traceback when the "checks" option has an empty value (#208).
continuous-integration/drone/push Build is passing Details
2019-08-26 09:52:32 -07:00
Dan Helfman ef3dda9213 Bypass Borg error about a moved repository (#209).
continuous-integration/drone/push Build is passing Details
2019-08-26 09:39:41 -07:00
Dan Helfman ccbd0b608b Do not treat Borg warnings (exit code 1) as failures (#204).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-08-03 15:13:54 -07:00
Dan Helfman a7cc2ea803 When validating configuration files, require strings instead of allowing any scalar type. 2019-08-03 14:52:12 -07:00
Dan Helfman 9ec75ccf3f Fit inadvertent conversion of ordered dict to dict.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-07-27 14:15:24 -07:00
Dan Helfman 39e5aac479 If a "prefix" option in borgmatic's configuration has an empty value (blank or ""), then disable default prefix.
continuous-integration/drone/push Build is failing Details
2019-07-27 14:04:13 -07:00
Dan Helfman e25f2c4e6c Clarify documentation/schema about on_error hook running if there's an error in another hook (#202).
continuous-integration/drone/push Build is passing Details
2019-07-19 09:25:01 -07:00
Dan Helfman 90595e9c18 Only log to syslog when run from a non-interactive console (e.g. a cron job). Related to #197.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-06-27 14:41:21 -07:00
Dan Helfman 032d4adee3 Remove unicode byte order mark from syslog output. (Related to #197.)
continuous-integration/drone/push Build is passing Details
2019-06-27 10:03:49 -07:00
Dan Helfman 4444219e17 Support for Borg --noatime, --noctime, and --nobirthtime flags (mentioned in #193).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-06-25 11:30:55 -07:00
Dan Helfman 56fd78089d Sort generated flags before passing them to Borg.
continuous-integration/drone/push Build is passing Details
2019-06-25 11:04:10 -07:00
Dan Helfman 86dbc00cbe Support for several more borgmatic/borg info command-line flags (#193). 2019-06-25 10:46:55 -07:00
Dan Helfman c644270599 Pass through several "borg list" flags (#193).
continuous-integration/drone/push Build is failing Details
2019-06-25 10:18:30 -07:00
Dan Helfman 1676a98c51 Fix for Borg create error output not showing up at borgmatic verbosity level zero (#198).
continuous-integration/drone/tag Build was killed Details
continuous-integration/drone/push Build is passing Details
2019-06-24 09:55:41 -07:00
Dan Helfman c15e6c5fe5 More actions help.
continuous-integration/drone/push Build is passing Details
2019-06-23 09:46:22 -07:00
Dan Helfman 4bf3e906a1 Break out main borgmatic arguments-parsing code into a separate file. 2019-06-22 21:32:27 -07:00
Dan Helfman 0ca43ef67a Get tests passing.
continuous-integration/drone/push Build is passing Details
2019-06-22 21:23:48 -07:00
Dan Helfman 75c04611dc Refactor to support subparsed-based parsed arguments. 2019-06-22 16:10:07 -07:00
Dan Helfman 881dc9b01e Make each subparser get a crack all all arguments. 2019-06-21 23:12:37 -07:00
Dan Helfman 8c72e909a7 Initial stab at subparsers for argument parsing. Not yet fully working. 2019-06-21 22:27:16 -07:00
Dan Helfman 74ac148747 Disable console color via "color" option in borgmatic configuration output section (#191).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-06-19 20:48:54 -07:00
Dan Helfman be7887c071 Demote log level of unhelpful info log (#194).
continuous-integration/drone/push Build is passing Details
2019-06-19 12:01:03 -07:00
Dan Helfman b3aa6af859 Don't color syslog output (#197).
continuous-integration/drone/push Build is passing Details
2019-06-17 11:53:08 -07:00
Dan Helfman de94001508 Change default syslog verbosity to show errors only.
continuous-integration/drone/push Build was killed Details
2019-06-16 21:57:14 -07:00
Dan Helfman 6c136ebbf1 Fix for unclear error message for invalid YAML merge include (#196).
continuous-integration/drone/push Build is passing Details
2019-06-16 21:33:40 -07:00
Dan Helfman de82919e39 Skip coverage on a particular annoying-to-trigger branch in execution code.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-06-13 21:38:06 -07:00
Dan Helfman d6d66de251 Set umask used when executing hooks via "umask" option in borgmatic hooks section (#189).
continuous-integration/drone/push Build is failing Details
2019-06-13 17:05:26 -07:00
Dan Helfman 7d7308a80d Integration tests for execute.py. 2019-06-13 10:48:21 -07:00
Dan Helfman 7f126ce127 Move hook.py file up a level. 2019-06-13 10:09:16 -07:00
Dan Helfman a6c4debf78 Additional test coverage, and upgrade test requirements. 2019-06-13 10:01:55 -07:00
Dan Helfman a74ad5475e Run all Borg commands such that they log to syslog as well as console.
continuous-integration/drone/push Build is passing Details
2019-06-12 20:56:20 -07:00
Dan Helfman fa293828df Run hooks such that their output goes to syslog as well as console.
continuous-integration/drone/push Build is passing Details
2019-06-12 13:09:04 -07:00
Dan Helfman f5582b1754 Move borgmatic.borg.execute module up a level for broader use. 2019-06-12 12:13:59 -07:00
Dan Helfman 1af95714c2 Collapse two execute_command() parameters into one output log level parameter. 2019-06-12 12:11:36 -07:00
Dan Helfman 0406d18cfd Log Borg --stats output as warning so it shows up at any verbosity level. 2019-06-12 11:49:35 -07:00
Dan Helfman 9a5e7a3abb Successfully convert Borg output to Python logging entries.
continuous-integration/drone/push Build is passing Details
2019-06-11 16:42:04 -07:00
Dan Helfman 02eb6c7e09 Merge branch 'master' into logging
continuous-integration/drone/push Build is passing Details
2019-06-10 10:27:22 -07:00
Dan Helfman 418c09398c Fix incorrect compression default in schema comment.
continuous-integration/drone/push Build is passing Details
2019-06-09 21:21:46 -07:00
Dan Helfman 12441331e6 Fix formatting / import ordering.
continuous-integration/drone/push Build is passing Details
2019-05-27 15:46:38 -07:00
Dan Helfman 9ceeae2de0 Add separate syslog verbosity flag.
continuous-integration/drone/push Build was killed Details
2019-05-27 15:44:48 -07:00
Dan Helfman e0e493c2f1 Factor out configuring of logging into a common function.
continuous-integration/drone/push Build is failing Details
2019-05-27 15:05:26 -07:00
Dan Helfman 0f05f7ad93 Log to syslog in addition to existing standard out logging (#53).
continuous-integration/drone/push Build is passing Details
2019-05-26 16:34:46 -07:00
Dan Helfman fb7a6dccaa Link to docs on skipping pruning entirely.
continuous-integration/drone/push Build is passing Details
2019-05-21 12:32:19 -07:00
Luke Murphy 8424e443a9
Also read .yml ending configuration files
the build was successful Details
Closes witten/borgmatic#178.
2019-05-19 13:04:42 +02:00
Dan Helfman 9417359da3 Fix for regression with missing verbose log entries (#177).
the build was successful Details
2019-05-16 10:50:19 -07:00
Dan Helfman 1cf0e1bd84 Support for various Borg directory environment variables (#153).
the build was successful Details
2019-05-16 10:34:52 -07:00
Luke Murphy 1c0dc3f904
Run isort over the source
the build was successful Details
2019-05-14 18:59:19 +02:00
Dan Helfman a13cc0ab17 More tests for colored logging.
the build was successful Details
2019-05-13 21:10:26 -07:00
Dan Helfman 620f9e64d6 A few more tests for new colored logging.
the build was successful Details
2019-05-13 20:49:20 -07:00
Dan Helfman 37362150fe Color records that are logged via logger.handle() as well.
the build was successful Details
2019-05-13 13:50:32 -07:00
Luke Murphy 1f524d6c87
Add borgmatic custom logger 2019-05-13 13:40:18 +02:00
Dan Helfman 8650a15db1 Document validate-borgmatic-config and add a few tests.
the build was successful Details
2019-05-11 14:05:16 -07:00
Robin Schneider 52e4f48eb9
Add validate-borgmatic-config command
the build failed Details
Useful when generating the borgmatic configuration file with
configuration management and before moving the generated file in place
checking if it is actually valid.
2019-05-10 00:10:28 +02:00
Dan Helfman a291477c19 Fix for hooks executing when using --dry-run (#160).
the build was successful Details
2019-05-07 16:06:31 -07:00
Dan Helfman 1c88dda76a Fix for invalid JSON output when using multiple borgmatic configuration files (#155).
the build was successful Details
2019-04-02 22:30:14 -07:00
Dan Helfman 0b59c22c23 Fix for seemingly random filename ordering when running through a directory of configuration files (#157).
the build was successful Details
2019-03-30 16:41:21 -07:00
Dan Helfman 6ff1867312 Configuration files includes and merging (#148).
the build was successful Details
2019-03-06 12:06:27 -08:00
Dan Helfman 3cb52423d2 Support for Borg create/extract --numeric-owner flag (#147).
the build was successful Details
2019-03-05 09:11:35 -08:00
Dan Helfman 4272c6b077 List the files within an archive via --list --archive option (#140).
the build was successful Details
2019-02-23 23:02:17 -08:00
Dan Helfman fe92d9e838 Fix restore paths list to tuple conversion.
the build was successful Details
2019-02-18 21:59:09 -08:00
Dan Helfman 5ea2d644a2 Fix error handling when --extract repository guard fails.
the build was successful Details
2019-02-18 21:52:56 -08:00
Dan Helfman c35f90154f Only guard repository when --extract is used.
the build was successful Details
2019-02-18 21:43:30 -08:00
Dan Helfman 2b3b8eab71 Add archive extract to end-to-end test.
the build was successful Details
2019-02-18 13:47:18 -08:00
Dan Helfman aa7c7651e5 Fix config repositories consumption. 2019-02-18 13:27:35 -08:00
Dan Helfman c41ffb5ceb If no extract repository is given, then error if there are multiple configured repositories. 2019-02-18 13:22:14 -08:00
Dan Helfman 766a03375a Guard that the given repository occurs in config exactly once.
the build was successful Details
2019-02-18 12:58:39 -08:00
Dan Helfman 2a4d4247e3 Tests for extract_archive(). 2019-02-18 10:31:52 -08:00
Dan Helfman 9de5083a7e Additional test coverage for extract options in borgmatic command. 2019-02-18 09:52:56 -08:00
Dan Helfman d0557b2bcd Initial work on #123: Support for Borg extract. 2019-02-18 09:30:34 -08:00
Dan Helfman 1a980d6321 Organize options within command-line help into logical groups.
the build was successful Details
2019-02-12 22:27:04 -08:00
Dan Helfman fb21d4e645 Remove dead code.
the build was successful Details
2019-02-09 21:17:55 -08:00
Dan Helfman 6096a7181c Leave exclude_patterns glob expansion to Borg, since doing it in borgmatic leads to confusing behavior (#132).
the build was successful Details
2019-01-27 13:47:26 -08:00
Dan Helfman fa9dfb8ff7 Remove date echo from schema example, as it's not a substitute for real logging (#127).
the build was successful Details
2019-01-27 12:22:22 -08:00
Dan Helfman 2dc006aab4 Allow use of --stats flag when --create or --prune flags are implied (#139).
the build was successful Details
2019-01-27 12:15:47 -08:00
Dan Helfman 031b9d6faf Handle and format validation errors raised during argument parsing (#136).
the build was successful Details
2019-01-27 11:58:04 -08:00
Dan Helfman 09d521661f Remove weasel words like "easily" and "simply".
the build was successful Details
2018-12-25 22:03:34 -08:00
Dan Helfman fd46efb193 Add borgmatic --version command-line flag to get the current installed version number.
the build was successful Details
2018-12-25 21:01:08 -08:00
Dan Helfman 426f54c9cc When generating sample configuration, document the defaults for each option (#103).
the build was successful Details
2018-12-25 17:05:22 -08:00
Dan Helfman 45a537b6b1 When running multiple configuration files, attempt all of them even if one errors (#116).
the build was successful Details
2018-12-25 15:23:54 -08:00
Dan Helfman 30b52e5523 With --init command-line flag, if a repository already exists, proceed without erroring (#117). 2018-12-24 22:28:02 -08:00
Dan Helfman 14aeddc11f Black re-formatting.
the build was successful Details
2018-12-24 14:38:57 -08:00
Dan Helfman 066399ecdb Mention --stats command-line flag in NEWS file.
the build failed Details
2018-12-23 16:06:08 -08:00
Felix Buehler 7516443a89 fix changes requested about stats
the build was successful Details
2018-12-22 23:46:03 +01:00
Felix Buehler 73d67e29b4 Support for Borg create & prune --stats via borgmatic command-line flag (#100) 2018-12-22 23:27:24 +01:00
Dan Helfman cc9dbb1def Support for Borg repository initialization via borgmatic --init command-line flag (#110).
the build was successful Details
2018-12-10 22:20:57 -08:00
Dan Helfman 300ead65d3 Error when deprecated --excludes command-line option is used.
the build failed Details
2018-12-09 14:57:14 -08:00
Dan Helfman 7417a3cd00 Update Borg create --filter values so a dry run lists files to back up. (#111).
the build was successful Details
2018-12-02 15:03:07 -08:00
Dan Helfman 9ca80a54d8 Support for Borg create --progress via borgmatic command-line flag (#108).
the build was successful Details
2018-11-21 22:03:39 -08:00
Dan Helfman 5c0b17ef39 Support for Borg --chunker-params create option via "chunker_params" in borgmatic's storage section (#105).
the build was successful Details
2018-10-27 15:57:28 -07:00
Dan Helfman 695930a607 Fix for syntax error that occurred in Python 3.5 and below (#102).
the build failed Details
2018-10-15 08:47:15 -07:00
Dan Helfman fa38de2de7 Enable consistency checks for only certain repositories via "check_repositories" (#73).
the build was successful Details
2018-10-13 20:34:51 -07:00
Dan Helfman e4d1b49c39 Switch some functions with many arguments to kwargs only. 2018-10-13 15:19:16 -07:00
Dan Helfman 2f20e6f808 Include link to issue tracker within various command output.
the build was successful Details
2018-10-07 22:29:56 -07:00
Dan Helfman da8e9638f4 Support for Borg --keep-secondly prune option (#98).
the build was successful Details
2018-10-04 21:54:23 -07:00
Dan Helfman a125df991b Move tests to the root of the repository, in keeping with more common convention. 2018-09-30 13:57:20 -07:00
Dan Helfman 56ad1d164a Use Flake8 code checker as part of running automated tests. 2018-09-29 23:15:18 -07:00
Dan Helfman 76d6a69f5a Use Black code formatter as part of running automated tests. 2018-09-29 22:45:00 -07:00
Dan Helfman 746428ed44 Fix generated configuration to also include a "keep_daily" value so pruning works out of the box. 2018-09-29 15:44:37 -07:00
Dan Helfman 984702b3b2 Fix various warnings. 2018-09-29 15:06:57 -07:00
Dan Helfman 47efa88c9d In generate-borgmatic-config, comment out all optional config (#57). 2018-09-29 15:03:11 -07:00
Dan Helfman 596f6f9dac Update help/README about --create --json. 2018-09-27 08:12:54 -07:00
Nils Hesse 98cb2644db
check_archives does not take json parameter 2018-09-27 12:21:14 +02:00
Florian Lindner 9aaf78b9dd Add --json option for --create command line.
Closes #94.
2018-09-24 21:53:09 +02:00
floli a836ec944f Limit argument range for --verbose, make default log level more explicit. (#93) 2018-09-18 05:31:27 +00:00
Dan Helfman c5ff08ee25 Remove now-gone verbosity parameter from test. 2018-09-09 11:14:33 -07:00
Dan Helfman 856db29180 Mention --read-special in NEWS. 2018-09-09 10:42:06 -07:00
Steve Kerrison 20e09b4ea8 Support for Borg create --read-special via "read_special" option (#25). 2018-09-09 10:39:56 -07:00
floli 7252b8d614 Rework logging/verbosity system (#90)
Looks great, merged! Thanks again for all your hard work here.
2018-09-08 20:53:37 +00:00
Dan Helfman 9b48eb5a61 Clarify that --json can be used with --info command-line flag. 2018-08-19 12:57:52 -07:00
Dan Helfman 7d40a448cb Pass --show-rc option to Borg when at highest verbosity level (#89). 2018-08-19 12:44:40 -07:00
Dan Helfman da7aed3814 Support for Borg create --checkpoint-interval (#87). 2018-08-19 11:41:49 -07:00
Dan Helfman 7b77fd2510 Fix compatibility issue between pykwalify and ruamel.yaml 0.15.52 (#85). 2018-08-11 13:59:27 -07:00
Dan Helfman 282e9565c9 Mentioning new --info --json option in NEWS. 2018-07-28 20:24:19 -07:00
Thomas LÉVEIL b714ffd48b add support for `--info --json` (#83) 2018-07-29 03:17:45 +00:00
Dan Helfman d93da55ce9 Add code style guidelines to the documention, and reformat some code accordingly. 2018-07-28 15:02:17 -07:00
Thomas LÉVEIL 789bcd402a add support for `--list --json` (#74) 2018-07-28 21:21:38 +00:00
Dan Helfman cf6ab60d2e Use XDG_CONFIG_HOME for user configuration directory, if set. (Thanks to floli.) (#71)
Thanks! This will go out in the next release.
2018-07-25 01:34:05 +00:00
Dan Helfman 64364b20ff Skip non-"*.yaml" config filenames in /etc/borgmatic.d/ so as not to parse backup files, editor swap files, etc. (#77) 2018-07-22 12:08:49 -07:00
Thomas LÉVEIL d664b6d253 only run hooks when creating an archive
fix #72
2018-07-01 21:09:45 +02:00
Dan Helfman cf846ab8ac Support for Borg prune --umask option (#69). 2018-06-17 15:12:43 -07:00
Dan Helfman dede8f9d4b News for: ~/.config/borgmatic/config.yaml. 2018-06-17 14:30:47 -07:00
Florian Lindner 9bd77292ff Add default path for user configuration 2018-06-10 15:03:23 +02:00
Dan Helfman 765e343c71 Support for Borg --info via borgmatic command-line (#61). 2018-05-26 16:19:05 -07:00
Dan Helfman af4b91a048 Support for Borg --list option via borgmatic command-line to list all archives (#61). 2018-05-26 16:09:08 -07:00
Dan Helfman cc9044487b Support for Borg --nobsdflags option to skip recording bsdflags (e.g. NODUMP, IMMUTABLE) in archive (#63). 2018-05-26 15:09:23 -07:00
Dan Helfman 007ec0644c Ignore "check_last" and consistency "prefix" when "archives" not in consistency checks. (#59) 2018-05-20 22:11:40 -07:00
Dan Helfman f7f852a28b Fix tests broken by addition of check --prefix default. 2018-03-03 22:36:51 -08:00
Dan Helfman 9b9c4c4abb Clarifying note in schema about adding prefix to consistency section. 2018-03-03 22:33:34 -08:00
Dan Helfman 1b59f5b190 Changing version in warning to correspond with next release version. 2018-03-03 22:30:30 -08:00
Nick Whyte c64d0100d5 Only check archives with matching prefix. 2018-03-03 22:17:39 -08:00