Commit graph

169 commits

Author SHA1 Message Date
Dan Helfman
fa5fa1c11b Move hooks into directory, so there can be one source file per type of hook (#225). 2019-10-21 15:52:14 -07:00
Dan Helfman
128ebf04ce Dead man's switch via healthchecks.io integration (#223) + new monitoring documentation. 2019-10-15 10:49:14 -07:00
Dan Helfman
7b3b28616d Add "borgmatic list --successful" flag to only list successful (non-checkpoint) archives (#86). 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). 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). 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). 2019-09-28 16:18:10 -07:00
Dan Helfman
340bd72176 Fix regression of argument parsing for default actions (#220). 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). 2019-09-20 11:43:27 -07:00
Dan Helfman
ae45dfe63a Clarify command-like help for check --only. 2019-09-19 15:20:05 -07:00
Dan Helfman
81739791e0 Override configured consistency checks via "borgmatic check --only" command-line flag (#210). 2019-09-19 11:43:53 -07:00
Dan Helfman
90595e9c18 Only log to syslog when run from a non-interactive console (e.g. a cron job). Related to #197. 2019-06-27 14:41:21 -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). 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). 2019-06-24 09:55:41 -07:00
Dan Helfman
c15e6c5fe5 More actions help. 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. 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). 2019-06-19 20:48:54 -07:00
Dan Helfman
be7887c071 Demote log level of unhelpful info log (#194). 2019-06-19 12:01:03 -07:00
Dan Helfman
b3aa6af859 Don't color syslog output (#197). 2019-06-17 11:53:08 -07:00
Dan Helfman
de94001508 Change default syslog verbosity to show errors only. 2019-06-16 21:57:14 -07:00
Dan Helfman
d6d66de251 Set umask used when executing hooks via "umask" option in borgmatic hooks section (#189). 2019-06-13 17:05:26 -07:00
Dan Helfman
7f126ce127 Move hook.py file up a level. 2019-06-13 10:09:16 -07:00
Dan Helfman
a74ad5475e Run all Borg commands such that they log to syslog as well as console. 2019-06-12 20:56:20 -07:00
Dan Helfman
fa293828df Run hooks such that their output goes to syslog as well as console. 2019-06-12 13:09:04 -07:00
Dan Helfman
9a5e7a3abb Successfully convert Borg output to Python logging entries. 2019-06-11 16:42:04 -07:00
Dan Helfman
12441331e6 Fix formatting / import ordering. 2019-05-27 15:46:38 -07:00
Dan Helfman
9ceeae2de0 Add separate syslog verbosity flag. 2019-05-27 15:44:48 -07:00
Dan Helfman
e0e493c2f1 Factor out configuring of logging into a common function. 2019-05-27 15:05:26 -07:00
Dan Helfman
0f05f7ad93 Log to syslog in addition to existing standard out logging (#53). 2019-05-26 16:34:46 -07:00
Luke Murphy
1c0dc3f904
Run isort over the source 2019-05-14 18:59:19 +02: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. 2019-05-11 14:05:16 -07:00
Robin Schneider
52e4f48eb9
Add validate-borgmatic-config command
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). 2019-05-07 16:06:31 -07:00
Dan Helfman
1c88dda76a Fix for invalid JSON output when using multiple borgmatic configuration files (#155). 2019-04-02 22:30:14 -07:00
Dan Helfman
3cb52423d2 Support for Borg create/extract --numeric-owner flag (#147). 2019-03-05 09:11:35 -08:00
Dan Helfman
4272c6b077 List the files within an archive via --list --archive option (#140). 2019-02-23 23:02:17 -08:00
Dan Helfman
5ea2d644a2 Fix error handling when --extract repository guard fails. 2019-02-18 21:52:56 -08:00
Dan Helfman
c35f90154f Only guard repository when --extract is used. 2019-02-18 21:43:30 -08:00
Dan Helfman
2b3b8eab71 Add archive extract to end-to-end test. 2019-02-18 13:47:18 -08:00
Dan Helfman
766a03375a Guard that the given repository occurs in config exactly once. 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. 2019-02-12 22:27:04 -08:00
Dan Helfman
2dc006aab4 Allow use of --stats flag when --create or --prune flags are implied (#139). 2019-01-27 12:15:47 -08:00
Dan Helfman
031b9d6faf Handle and format validation errors raised during argument parsing (#136). 2019-01-27 11:58:04 -08:00
Dan Helfman
09d521661f Remove weasel words like "easily" and "simply". 2018-12-25 22:03:34 -08:00
Dan Helfman
fd46efb193 Add borgmatic --version command-line flag to get the current installed version number. 2018-12-25 21:01:08 -08:00
Dan Helfman
45a537b6b1 When running multiple configuration files, attempt all of them even if one errors (#116). 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. 2018-12-24 14:38:57 -08:00
Dan Helfman
066399ecdb Mention --stats command-line flag in NEWS file. 2018-12-23 16:06:08 -08:00
Felix Buehler
7516443a89 fix changes requested about stats 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). 2018-12-10 22:20:57 -08:00
Dan Helfman
300ead65d3 Error when deprecated --excludes command-line option is used. 2018-12-09 14:57:14 -08:00
Dan Helfman
9ca80a54d8 Support for Borg create --progress via borgmatic command-line flag (#108). 2018-11-21 22:03:39 -08:00
Dan Helfman
695930a607 Fix for syntax error that occurred in Python 3.5 and below (#102). 2018-10-15 08:47:15 -07:00
Dan Helfman
fa38de2de7 Enable consistency checks for only certain repositories via "check_repositories" (#73). 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. 2018-10-07 22:29:56 -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
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
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
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
Thomas LEVEIL
d664b6d253 only run hooks when creating an archive
fix #72
2018-07-01 21:09:45 +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
2d3f5fa05d Support for Borg --lock-wait option for the maximum wait for a repository/cache lock (#56). 2018-02-19 15:51:04 -08:00
Dan Helfman
62526038d6 47: Support for Borg --dry-run option via borgmatic command-line. 2018-01-15 20:55:27 -08:00
Dan Helfman
cd189c4fe4 48: Add "local_path" to configuration for specifying an alternative Borg executable path. 2018-01-14 16:35:24 -08:00
Dan
425e27dee5 Add "ssh_command" to configuration for specifying a custom SSH command or options. 2017-11-03 22:01:04 -07:00
Dan
f83346b9b3 Support for using tilde in repository paths to reference home directory. 2017-11-02 21:34:04 -07:00
Dan
27a6745743 Passing the Unix SIGTERM signal through to child processes like Borg. 2017-10-31 21:58:35 -07:00
Dan
f2782426d5 Comment typo. 2017-10-29 16:46:30 -07:00
Dan
f13ed92b0e Breaking borgmatic command main() apart, since it was getting a little unwieldy. 2017-10-29 16:44:15 -07:00
Dan Helfman
16f0a3976c Adding logging to hook execution! 2017-10-25 22:32:06 -07:00
Dan Helfman
30f56235c1 Fixing inconsistent indentation. 2017-10-25 21:58:02 -07:00
Dan Helfman
a5aa9355f5 Merge. 2017-10-25 21:54:50 -07:00
Dan Helfman
059322b7f8 Improve clarity of logging spew at high verbosity levels. 2017-10-25 21:47:33 -07:00
Johannes Feichtner
80e2c023dd #16, #38: Support for user-defined hooks before/after backup, or on error. 2017-10-26 06:38:27 +02:00
Dan Helfman
873fc22cfb Removing "from __future__ import print_function". This isn't Python 2 anymore, Toto. 2017-09-09 17:38:14 -07:00
Dan Helfman
84c148fb3b #39: Fix to make /etc/borgmatic/config.yaml optional rather than required when using the default config paths. 2017-09-08 21:25:42 -07:00
Dan Helfman
ddd56bf2a7 Remove unused imports. 2017-08-05 22:26:38 -07:00
Dan Helfman
793ffbd048 Fix imports of borg/*.py modules now that they've been split out. 2017-08-05 22:26:28 -07:00
Dan Helfman
ceeaf25443 #17: Added command-line flags for performing a borgmatic run with only pruning, creating, or checking enabled. 2017-07-28 22:02:18 -07:00