Commit Graph

215 Commits

Author SHA1 Message Date
Dan Helfman 2405e97c38 Backup to a removable drive or intermittent server via "soft failure" feature (#284).
continuous-integration/drone/push Build is passing Details
2020-01-24 20:52:48 -08:00
Dan Helfman fdbb2ee905 View consistency check progress via "--progress" flag for "check" action (#287).
continuous-integration/drone/push Build is passing Details
2020-01-24 11:27:16 -08:00
Dan Helfman 952168ce25 Fix unwanted console log messages with "list --json" and "info --json". 2020-01-23 13:40:54 -08:00
Dan Helfman 5273037a94 For "list" and "info" actions, show repository names even at verbosity 0.
continuous-integration/drone/push Build is failing Details
2020-01-23 11:17:39 -08:00
Dan Helfman f66fd1caaa Customize Healthchecks log level via borgmatic "--monitoring-verbosity" flag (#277).
continuous-integration/drone/push Build is passing Details
2020-01-22 15:10:47 -08:00
Dan Helfman d93fdbc5ad Support "--files" and "--stats" flags at verbosity level 0.
continuous-integration/drone/push Build is passing Details
2020-01-22 13:28:24 -08:00
palto42 e27ba0d08a less detail at v1 + option "--files" for details 2020-01-11 16:38:07 +01:00
Dan Helfman 5afe0e3d63 Disable colored output when "--json" flag is used, so as to produce valid JSON ouput (#276).
continuous-integration/drone/push Build is passing Details
2020-01-04 15:50:41 -08:00
Dan Helfman d0c533555e In "borgmatic --help", don't expand $HOME in listing of default "--config" paths.
continuous-integration/drone/push Build is passing Details
2020-01-02 10:37:31 -08:00
Dan Helfman 911668f0c8 Only trigger "on_error" hooks and monitoring failures for "prune", "create", and "check" actions, and not for other actions (#270).
continuous-integration/drone/push Build is passing Details
2019-12-20 13:58:02 -08:00
Dan Helfman f787dfe809 Override particular configuration options from the command-line via "--override" flag (#268).
continuous-integration/drone/push Build is passing Details
2019-12-17 11:46:27 -08:00
Dan Helfman e009bfeaa2 Update Healthchecks/Cronitor/Cronhub monitoring integrations to fire for "check" and "prune" actions, not just "create" (#249).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-12-12 22:54:45 -08:00
Dan Helfman 8660af745e Optionally change the internal database dump path via "borgmatic_source_directory" option in location configuration section (#259).
continuous-integration/drone/push Build is passing Details
2019-12-10 16:04:34 -08:00
Dan Helfman 826e4352d1 Filter listed paths via "borgmatic list --path" flag (#269).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-12-08 14:07:02 -08:00
Dan Helfman b94999bba4 Fix "borgmatic umount" so it only runs Borg once instead of once per repository / configuration file.
continuous-integration/drone/push Build is passing Details
2019-12-07 21:36:51 -08:00
Dan Helfman 65cc4c9429 Fix "--repository" flag to accept relative paths.
continuous-integration/drone/push Build is passing Details
2019-12-06 16:29:41 -08:00
Dan Helfman df2be9620b Mount whole repositories via "borgmatic mount" without any "--archive" flag (#253).
continuous-integration/drone/push Build is passing Details
2019-12-06 15:58:54 -08:00
Dan Helfman 2ab9daaa0f Attempt to repair any inconsistencies found during a consistency check via "borgmatic check --repair" flag (#266).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-12-04 16:07:00 -08:00
Dan Helfman 0c6c61a272 Pass extra options directly to particular Borg commands, handy for Borg options that borgmatic does not yet support natively (#235).
continuous-integration/drone/push Build is passing Details
2019-12-04 15:48:10 -08:00
Dan Helfman 375036e409 Support for mounting an archive as a FUSE filesystem via "borgmatic mount" action, and unmounting via "borgmatic umount" (#123).
continuous-integration/drone/push Build is passing Details
2019-11-25 14:56:20 -08:00
Dan Helfman f4a231420f Show summary log errors regardless of verbosity. Log the "summary:" header with level based on the contained logs.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-25 10:31:09 -08:00
Dan Helfman 55ebfdda39 Show full error logs at "--verbosity 0" so you can see command output without upping the verbosity level.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-19 10:09:25 -08:00
Dan Helfman e63e2e0852 Rephrasing verbosity levels.
continuous-integration/drone/push Build is passing Details
2019-11-17 22:52:26 -08:00
Dan Helfman edc4b9e60e Update the command-line help description.
continuous-integration/drone/push Build is passing Details
2019-11-17 22:49:16 -08:00
Dan Helfman 2cc743cf47 With "borgmatic check", consider Borg warnings as errors (#247). 2019-11-17 19:06:28 -08:00
Dan Helfman 50f62d73b7 When using the Healthchecks monitoring hook, include borgmatic logs in the payloads for completion and failure pings (#241).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-17 16:54:27 -08:00
Dan Helfman 6cdc92bd0c Fix for "borgmatic restore" showing success and incorrectly extracting archive files, even when no databases are configured to restore (#246).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-13 10:41:57 -08:00
Dan Helfman 781fac3266 Refactor ping monitors (Healthchecks, Cronitor, Cronhub) to share a common invocation and function signature.
continuous-integration/drone/push Build is passing Details
2019-11-12 15:31:07 -08:00
Dan Helfman 30525c43bf Another edge case: Don't error on non-matching restore path globs (#228).
continuous-integration/drone/push Build is passing Details
2019-11-12 11:24:31 -08:00
Dan Helfman a3e939f34b Factor out filtering of database configuration to function with tests (#228).
continuous-integration/drone/push Build is passing Details
2019-11-12 10:39:36 -08:00
Dan Helfman ded042d8cc First crack at MySQL/MariaDB database restore (#228).
continuous-integration/drone/push Build is passing Details
2019-11-11 21:59:30 -08:00
Dan Helfman 9d29ecf304 Remove MySQL/MariaDB database dumps after backing them up (#228).
continuous-integration/drone/push Build is passing Details
2019-11-08 11:53:27 -08:00
Dan Helfman 427b57e2a9 Database dump hooks for MySQL/MariaDB (#228).
continuous-integration/drone/push Build is passing Details
2019-11-08 11:17:52 -08:00
Dan Helfman 17fda7281a Monitor backups with Cronhub hook integration. Fix Healthchecks/Cronitor hooks to respect dry run.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-07 10:08:44 -08:00
Dan Helfman 2115eeb6a2 Upgrade your borgmatic configuration to get new options and comments via "generate-borgmatic-config --source" (#239).
continuous-integration/drone/push Build is failing Details
2019-11-06 09:31:00 -08:00
palto42 18d3542fbc new verbosity level "-1" for errors 2019-11-03 09:55:19 +01:00
Dan Helfman a9104ed090 Handle log file error more consistently with other error. Add --log-file-verbosity flag. Add docs.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-02 11:23:18 -07:00
palto42 b121290c0f Merge remote-tracking branch 'upstream/master' into logging 2019-11-01 19:44:04 +01:00
Dan Helfman 8fd46b8c70 Monitor backups with Cronitor hook integration.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-01 11:33:15 -07:00
Dan Helfman 603f525352 Clarify --archive help. 2019-11-01 10:50:20 -07:00
Dan Helfman e3dd545345 Extract files to a particular directory via "borgmatic extract --destination" flag. Also rename "--restore-path" to "--path" to reduce confusion.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-01 10:00:26 -07:00
Dan Helfman 3006db0cae Restore backed up PostgreSQL databases via "borgmatic restore" sub-command (#229).
continuous-integration/drone/push Build is passing Details
2019-10-31 12:57:36 -07:00
palto42 22640a9ca0 new option for log-file 2019-10-31 10:44:22 +01:00
Dan Helfman 4dc4fe0b8d Reordering hooks a bit so that pre-backup ordering mirrors post-backup ordering.
continuous-integration/drone/push Build is passing Details
2019-10-27 14:47:55 -07:00
Dan Helfman fc274b43f0 Rename "borgmatic list --pattern-from" flag to "--patterns-from" to match Borg (#230).
continuous-integration/drone/push Build is passing Details
2019-10-22 22:42:36 -07:00
Dan Helfman 458e7776c5 Database dump hooks for PostgreSQL, so you can easily dump your databases before backups run (#225).
continuous-integration/drone/push Build is passing Details
2019-10-22 16:28:42 -07:00
Dan Helfman fa5fa1c11b Move hooks into directory, so there can be one source file per type of hook (#225).
continuous-integration/drone/push Build is passing Details
2019-10-21 15:52:14 -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 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 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 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 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 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.
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 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 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
Luke Murphy 1c0dc3f904
Run isort over the source
the build was successful Details
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.
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 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 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 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 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