Commit Graph

527 Commits

Author SHA1 Message Date
65472c8de2 Fix error message when there are no MySQL databases to dump for "all" databases (#319).
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-26 08:59:04 -07:00
96df52ec50 Fix hang when streaming a database dump to Borg with implicit duplicate source directories by deduplicating them first (#316).
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-20 13:33:53 -07:00
89cb5eb76d Fix regression in support for PostgreSQL's "directory" dump format (#314).
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-18 11:31:29 -07:00
2ddf38f99c Fix error handling when executing commands to handle more edge cases.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-14 23:04:01 -07:00
d88f321cef Fix legitimate database dump command errors (exit code 1) not being treated as errors by borgmatic (#310).
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-14 22:38:38 -07:00
15ea70a71b Flesh out missing test coverage for execute.py.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-12 15:49:49 -07:00
3bcef72050 Add some missing test mocks that were masking lack of unit coverage.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-11 11:17:24 -07:00
695c764a01 Merge log output functions into one. 2020-05-11 10:55:50 -07:00
f7c93ea2e8 Wait for process to finish before trying to check exit status.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-09 23:09:48 -07:00
1ea047dd94 Remove "borgmatic restore --progress" flag, as it now conflicts with streaming database restores. 2020-05-09 21:53:16 -07:00
4b523f9e2c Make database restore output only show at verbosity 2.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-08 19:38:33 -07:00
6a61070d85 Use shell redirection rather than the --file flag to sidestep synchronization issues when pg_dump/pg_dumpall tries to write to a named pipe.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-08 19:11:26 -07:00
1ba996ad93 Additional test coverage.
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2020-05-07 12:14:27 -07:00
a23fdf946d Stream database dumps and restores directly to/from Borg without using any additional filesystem space (#258).
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2020-05-07 11:44:04 -07:00
12cf6913ef Remove unused function parameter.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-03 14:07:34 -07:00
dce1928dc4
Fix PostgreSQL restore error on "all" database dump. 2020-04-24 15:50:33 -07:00
Nathan Beals
3c8dc4929f Added test_restore_all_database_dump unit test.
Updated the other unit tests, as I had to re-arrange argument order
Added an 'all' test for the postgres end-to-end test.

Ran black formatter on it all.
2020-04-24 18:32:53 -04:00
e511014a28 Fix MySQL restore error on "all" database dump by excluding system tables (#301).
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-22 12:17:22 -07:00
Nathan Beals
f6407bafcb Remove the --create flag, was causing an error 2020-04-10 11:24:13 -04:00
Nathan Beals
d5e9f67cec Finished. Now uses 'psql' to run the plain-text scripts that pg_dumpall creates 2020-04-10 10:55:53 -04:00
Nathan Beals
b14f371c05 First attempt at fixing this pg_dumpall/restoring issue 2020-04-10 09:20:00 -04:00
d6562c4b1e Fix the "--stats" and "--files" flags so that they yield output at verbosity 0 (#290).
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-31 10:23:36 -08:00
55141bda67 Specify "--archive latest" to all actions that accept an archive (#289). 2020-01-29 16:59:02 -08:00
bc02c123e6 Monitor backups with PagerDuty hook integration (#245).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2020-01-27 15:32:09 -08:00
8ad8a9c422 Add per-action hooks: "before_prune", "after_prune", "before_check", and "after_check" (#255).
Some checks failed
continuous-integration/drone/push Build is failing
2020-01-27 11:07:07 -08:00
2405e97c38 Backup to a removable drive or intermittent server via "soft failure" feature (#284).
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-24 20:52:48 -08:00
fdbb2ee905 View consistency check progress via "--progress" flag for "check" action (#287).
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-24 11:27:16 -08:00
94b9ef56be Change "exclude_if_present" option to support multiple filenames, rather than just a single filename (#280).
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-23 13:41:37 -08:00
952168ce25 Fix unwanted console log messages with "list --json" and "info --json". 2020-01-23 13:40:54 -08:00
5273037a94 For "list" and "info" actions, show repository names even at verbosity 0.
Some checks failed
continuous-integration/drone/push Build is failing
2020-01-23 11:17:39 -08:00
53e6ff9524 No longer list files or show stats by default at verbosity 2.
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-22 15:23:49 -08:00
f66fd1caaa Customize Healthchecks log level via borgmatic "--monitoring-verbosity" flag (#277).
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-22 15:10:47 -08:00
d93fdbc5ad Support "--files" and "--stats" flags at verbosity level 0.
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-22 13:28:24 -08:00
palto42
75b5e7254e changes as per comments in PR #283 2020-01-22 19:03:26 +01:00
palto42
5f0c084bee Merge 'upstream/master' into list-files 2020-01-22 18:12:26 +01:00
39550a7fe9 Add ~/.config/borgmatic.d as another configuration directory default (#274).
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-22 09:26:58 -08:00
8a91c79fb0 Support directory format dump cleanup.
Previously, only deleting a dump in a single-file format was supported.
This led to errors when performing a PostgreSQL directory format backup.
2020-01-19 15:15:47 +01:00
palto42
e108526bab disable --stats by default 2020-01-18 14:38:59 +01:00
palto42
e27ba0d08a less detail at v1 + option "--files" for details 2020-01-11 16:38:07 +01:00
5afe0e3d63 Disable colored output when "--json" flag is used, so as to produce valid JSON ouput (#276).
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-04 15:50:41 -08:00
d0c533555e In "borgmatic --help", don't expand $HOME in listing of default "--config" paths.
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-02 10:37:31 -08:00
911668f0c8 Only trigger "on_error" hooks and monitoring failures for "prune", "create", and "check" actions, and not for other actions (#270).
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-20 13:58:02 -08:00
d64bcd5e83 When pruning with verbosity level 1, list pruned and kept archives.
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-17 20:12:41 -08:00
f787dfe809 Override particular configuration options from the command-line via "--override" flag (#268).
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-17 11:46:27 -08:00
e009bfeaa2 Update Healthchecks/Cronitor/Cronhub monitoring integrations to fire for "check" and "prune" actions, not just "create" (#249).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-12-12 22:54:45 -08:00
Matthew Daley
dd16504329 Use --remote-path, --debug and --info when checking for repo existence
These are currently not being used in the call to `borg info` performed
as part of the borgmatic init command to check whether or not the repo
already exists.
2019-12-13 15:45:12 +13:00
14e5cfc8f8 Support piping "borgmatic list" output to grep. Retain colored output when piping/redirecting (#271).
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-11 12:12:25 -08:00
8660af745e Optionally change the internal database dump path via "borgmatic_source_directory" option in location configuration section (#259).
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-10 16:04:34 -08:00
826e4352d1 Filter listed paths via "borgmatic list --path" flag (#269).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-12-08 14:07:02 -08:00
b94999bba4 Fix "borgmatic umount" so it only runs Borg once instead of once per repository / configuration file.
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-07 21:36:51 -08:00
65cc4c9429 Fix "--repository" flag to accept relative paths.
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-06 16:29:41 -08:00
df2be9620b Mount whole repositories via "borgmatic mount" without any "--archive" flag (#253).
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-06 15:58:54 -08:00
2ab9daaa0f Attempt to repair any inconsistencies found during a consistency check via "borgmatic check --repair" flag (#266).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-12-04 16:07:00 -08:00
0c6c61a272 Pass extra options directly to particular Borg commands, handy for Borg options that borgmatic does not yet support natively (#235).
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-04 15:48:10 -08:00
00f62ca023 Fix for "before_backup" hook not triggering an error when the command contains "borg" and has an exit code of 1 (#256).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-30 16:55:05 -08:00
9b2ca15de6 Fix for garbled Borg file listing when using "borgmatic create --progress" with verbosity level 1 or 2 (#257).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-30 15:31:36 -08:00
c4aa34bf5c Fix for missing Healthchecks monitoring payload or HTTP 500 due to incorrect unicode encoding (#260).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-30 14:51:32 -08:00
d978a2d190 Fix for database dump removal incorrectly skipping some database dumps. 2019-11-25 15:27:59 -08:00
375036e409 Support for mounting an archive as a FUSE filesystem via "borgmatic mount" action, and unmounting via "borgmatic umount" (#123).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-25 14:56:20 -08:00
f4a231420f Show summary log errors regardless of verbosity. Log the "summary:" header with level based on the contained logs.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-25 10:31:09 -08:00
55ebfdda39 Show full error logs at "--verbosity 0" so you can see command output without upping the verbosity level.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-19 10:09:25 -08:00
e63e2e0852 Rephrasing verbosity levels.
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-17 22:52:26 -08:00
edc4b9e60e Update the command-line help description.
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-17 22:49:16 -08:00
2cc743cf47 With "borgmatic check", consider Borg warnings as errors (#247). 2019-11-17 19:06:28 -08:00
d99e6d1994 Remove obnoxious log message when Healthchecks hook sends failure for check action. 2019-11-17 18:55:40 -08:00
50f62d73b7 When using the Healthchecks monitoring hook, include borgmatic logs in the payloads for completion and failure pings (#241).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-17 16:54:27 -08:00
6cdc92bd0c Fix for "borgmatic restore" showing success and incorrectly extracting archive files, even when no databases are configured to restore (#246).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-13 10:41:57 -08:00
0a9f4e8708 Reopen the file given by "--log-file" flag if an external program rotates the log file while borgmatic is running.
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-12 16:13:25 -08:00
781fac3266 Refactor ping monitors (Healthchecks, Cronitor, Cronhub) to share a common invocation and function signature.
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-12 15:31:07 -08:00
04e5b42606 Fix repository does not exist error with "borgmatic extract" when repository is remote (#243).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-12 11:47:24 -08:00
30525c43bf Another edge case: Don't error on non-matching restore path globs (#228).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-12 11:24:31 -08:00
ebeb5efe05 More accurately detecting restore of unconfigured database (#228).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-12 11:10:47 -08:00
a3e939f34b Factor out filtering of database configuration to function with tests (#228).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-12 10:39:36 -08:00
2a771161e7 Finish test coverage for MySQL restore (#228).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-12 09:50:26 -08:00
ded042d8cc First crack at MySQL/MariaDB database restore (#228).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-11 21:59:30 -08:00
9d29ecf304 Remove MySQL/MariaDB database dumps after backing them up (#228).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-08 11:53:27 -08:00
427b57e2a9 Database dump hooks for MySQL/MariaDB (#228).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-08 11:17:52 -08:00
17fda7281a Monitor backups with Cronhub hook integration. Fix Healthchecks/Cronitor hooks to respect dry run.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-07 10:08:44 -08:00
ac777965d0 Fix regression of generate-borgmatic-config working without --source flag (#239).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-06 09:52:21 -08:00
31d3bc9bd8 In documentation, clarify when Healthchecks/Cronitor hooks fire in relation to other hooks (#238).
Some checks reported errors
continuous-integration/drone/push Build was killed
2019-11-06 09:44:46 -08:00
2115eeb6a2 Upgrade your borgmatic configuration to get new options and comments via "generate-borgmatic-config --source" (#239).
Some checks failed
continuous-integration/drone/push Build is failing
2019-11-06 09:31:00 -08:00
palto42
18d3542fbc new verbosity level "-1" for errors 2019-11-03 09:55:19 +01:00
a9104ed090 Handle log file error more consistently with other error. Add --log-file-verbosity flag. Add docs.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-02 11:23:18 -07:00
06f134cc71 Log to file instead of syslog via command-line "--log-file" flag (#233).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-02 17:43:39 +00:00
palto42
6da05cbe2d Exception handling for logfile option 2019-11-02 14:33:57 +01:00
f48f52079d Support for Borg --keep-exclude-tags and --exclude-nodump options (#234).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-01 15:50:59 -07:00
palto42
b121290c0f Merge remote-tracking branch 'upstream/master' into logging 2019-11-01 19:44:04 +01:00
8fd46b8c70 Monitor backups with Cronitor hook integration.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-01 11:33:15 -07:00
603f525352 Clarify --archive help. 2019-11-01 10:50:20 -07:00
palto42
8c8640d0ab file-logger replaces syslog 2019-11-01 18:42:24 +01:00
e3dd545345 Extract files to a particular directory via "borgmatic extract --destination" flag. Also rename "--restore-path" to "--path" to reduce confusion.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-11-01 10:00:26 -07:00
939f4d4e3d Add additional tests for database restores.
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-31 14:11:19 -07:00
3006db0cae Restore backed up PostgreSQL databases via "borgmatic restore" sub-command (#229).
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-31 12:57:36 -07:00
palto42
22640a9ca0 new option for log-file 2019-10-31 10:44:22 +01:00
4dc4fe0b8d Reordering hooks a bit so that pre-backup ordering mirrors post-backup ordering.
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-27 14:47:55 -07:00
fc274b43f0 Rename "borgmatic list --pattern-from" flag to "--patterns-from" to match Borg (#230).
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-22 22:42:36 -07:00
458e7776c5 Database dump hooks for PostgreSQL, so you can easily dump your databases before backups run (#225).
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-22 16:28:42 -07:00
fa5fa1c11b Move hooks into directory, so there can be one source file per type of hook (#225).
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-21 15:52:14 -07:00
f8bc67be8d Config generation support for sequences of maps, needed for database dump hooks (#225).
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-21 15:17:47 -07:00
c12c47cace Fix "borgmatic list --successful" with a slightly better heuristic for listing successful (non-checkpoint) archives.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-10-16 10:24:58 -07:00
128ebf04ce Dead man's switch via healthchecks.io integration (#223) + new monitoring documentation.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-10-15 10:49:14 -07:00
7b3b28616d Add "borgmatic list --successful" flag to only list successful (non-checkpoint) archives (#86).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-10-13 15:58:11 -07:00
f3910f49ca Fix incorrect help on borg list --last flag. 2019-10-13 14:46:28 -07:00
1d37b14356 More detailed error alerting via runtime context available in "on_error" hook (#174).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-10-01 12:23:16 -07:00
6c617eddd5 When backups to one of several repositories fails, keep backing up to the other repositories (#144).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-09-30 22:19:31 -07:00
e14ebee4e0 User-defined hooks for global setup or cleanup that run before/after all actions. (#192).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-09-28 16:18:10 -07:00
a897ffd514 Fix "borgmatic create --progress" output so that it updates on the console in real-time (#221).
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2019-09-25 12:03:10 -07:00
07222cd984 Fix visibility of "borgmatic prune --stats" output (#219).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-09-23 13:07:51 -07:00
340bd72176 Fix regression of argument parsing for default actions (#220).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-09-22 11:30:58 -07:00
1a1bb71af1 Fix error with "borgmatic check --only" command-line flag with "extract" consistency check (#217).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-09-20 11:43:27 -07:00
ae45dfe63a Clarify command-like help for check --only.
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-19 15:20:05 -07:00
81739791e0 Override configured consistency checks via "borgmatic check --only" command-line flag (#210).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-09-19 11:43:53 -07:00
4cdff74e9b Support for Borg check --verify-data flag via borgmatic "data" consistency check (#210).
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-18 16:52:27 -07:00
f2198de151 Merge branch 'comments-white-space' of polyzen/borgmatic into master
Some checks reported errors
continuous-integration/drone/push Build was killed
2019-09-18 21:03:56 +00:00
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
f11a9bb4aa Revert "Fix for spurious Borg traceback when initializing a repository in an empty directory (#201)."
All checks were successful
continuous-integration/drone/push Build is passing
This reverts commit 9585c8f908.
2019-09-14 16:14:20 -07:00
9585c8f908 Fix for spurious Borg traceback when initializing a repository in an empty directory (#201).
Some checks failed
continuous-integration/drone/push Build is failing
2019-09-13 13:08:23 -07:00
67ab2acb82 Fix for hook erroring with exit code 1 not being interpreted as an error (#214).
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-12 16:37:43 -07:00
c085bacccf Reorder arguments passed to Borg to fix duplicate directories when using Borg patterns (#213).
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-12 15:27:04 -07:00
896401088e Fix for traceback when the "checks" option has an empty value (#208).
All checks were successful
continuous-integration/drone/push Build is passing
2019-08-26 09:52:32 -07:00
ef3dda9213 Bypass Borg error about a moved repository (#209).
All checks were successful
continuous-integration/drone/push Build is passing
2019-08-26 09:39:41 -07:00
ccbd0b608b Do not treat Borg warnings (exit code 1) as failures (#204).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-08-03 15:13:54 -07:00
a7cc2ea803 When validating configuration files, require strings instead of allowing any scalar type. 2019-08-03 14:52:12 -07:00
9ec75ccf3f Fit inadvertent conversion of ordered dict to dict.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-07-27 14:15:24 -07:00
39e5aac479 If a "prefix" option in borgmatic's configuration has an empty value (blank or ""), then disable default prefix.
Some checks failed
continuous-integration/drone/push Build is failing
2019-07-27 14:04:13 -07:00
e25f2c4e6c Clarify documentation/schema about on_error hook running if there's an error in another hook (#202).
All checks were successful
continuous-integration/drone/push Build is passing
2019-07-19 09:25:01 -07:00
90595e9c18 Only log to syslog when run from a non-interactive console (e.g. a cron job). Related to #197.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-06-27 14:41:21 -07:00
032d4adee3 Remove unicode byte order mark from syslog output. (Related to #197.)
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-27 10:03:49 -07:00
4444219e17 Support for Borg --noatime, --noctime, and --nobirthtime flags (mentioned in #193).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-06-25 11:30:55 -07:00
56fd78089d Sort generated flags before passing them to Borg.
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-25 11:04:10 -07:00
86dbc00cbe Support for several more borgmatic/borg info command-line flags (#193). 2019-06-25 10:46:55 -07:00
c644270599 Pass through several "borg list" flags (#193).
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-25 10:18:30 -07:00
1676a98c51 Fix for Borg create error output not showing up at borgmatic verbosity level zero (#198).
Some checks reported errors
continuous-integration/drone/tag Build was killed
continuous-integration/drone/push Build is passing
2019-06-24 09:55:41 -07:00
c15e6c5fe5 More actions help.
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-23 09:46:22 -07:00
4bf3e906a1 Break out main borgmatic arguments-parsing code into a separate file. 2019-06-22 21:32:27 -07:00
0ca43ef67a Get tests passing.
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-22 21:23:48 -07:00
75c04611dc Refactor to support subparsed-based parsed arguments. 2019-06-22 16:10:07 -07:00
881dc9b01e Make each subparser get a crack all all arguments. 2019-06-21 23:12:37 -07:00
8c72e909a7 Initial stab at subparsers for argument parsing. Not yet fully working. 2019-06-21 22:27:16 -07:00
74ac148747 Disable console color via "color" option in borgmatic configuration output section (#191).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-06-19 20:48:54 -07:00
be7887c071 Demote log level of unhelpful info log (#194).
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-19 12:01:03 -07:00
b3aa6af859 Don't color syslog output (#197).
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-17 11:53:08 -07:00
de94001508 Change default syslog verbosity to show errors only.
Some checks reported errors
continuous-integration/drone/push Build was killed
2019-06-16 21:57:14 -07:00
6c136ebbf1 Fix for unclear error message for invalid YAML merge include (#196).
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-16 21:33:40 -07:00
de82919e39 Skip coverage on a particular annoying-to-trigger branch in execution code.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2019-06-13 21:38:06 -07:00
d6d66de251 Set umask used when executing hooks via "umask" option in borgmatic hooks section (#189).
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-13 17:05:26 -07:00
7d7308a80d Integration tests for execute.py. 2019-06-13 10:48:21 -07:00
7f126ce127 Move hook.py file up a level. 2019-06-13 10:09:16 -07:00
a6c4debf78 Additional test coverage, and upgrade test requirements. 2019-06-13 10:01:55 -07:00
a74ad5475e Run all Borg commands such that they log to syslog as well as console.
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-12 20:56:20 -07:00
fa293828df Run hooks such that their output goes to syslog as well as console.
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-12 13:09:04 -07:00
f5582b1754 Move borgmatic.borg.execute module up a level for broader use. 2019-06-12 12:13:59 -07:00
1af95714c2 Collapse two execute_command() parameters into one output log level parameter. 2019-06-12 12:11:36 -07:00
0406d18cfd Log Borg --stats output as warning so it shows up at any verbosity level. 2019-06-12 11:49:35 -07:00
9a5e7a3abb Successfully convert Borg output to Python logging entries.
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-11 16:42:04 -07:00
02eb6c7e09 Merge branch 'master' into logging
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-10 10:27:22 -07:00
418c09398c Fix incorrect compression default in schema comment.
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-09 21:21:46 -07:00
12441331e6 Fix formatting / import ordering.
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-27 15:46:38 -07:00
9ceeae2de0 Add separate syslog verbosity flag.
Some checks reported errors
continuous-integration/drone/push Build was killed
2019-05-27 15:44:48 -07:00
e0e493c2f1 Factor out configuring of logging into a common function.
Some checks failed
continuous-integration/drone/push Build is failing
2019-05-27 15:05:26 -07:00
0f05f7ad93 Log to syslog in addition to existing standard out logging (#53).
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-26 16:34:46 -07:00
fb7a6dccaa Link to docs on skipping pruning entirely.
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-21 12:32:19 -07:00
8424e443a9
Also read .yml ending configuration files
All checks were successful
the build was successful
Closes witten/borgmatic#178.
2019-05-19 13:04:42 +02:00
9417359da3 Fix for regression with missing verbose log entries (#177).
All checks were successful
the build was successful
2019-05-16 10:50:19 -07:00
1cf0e1bd84 Support for various Borg directory environment variables (#153).
All checks were successful
the build was successful
2019-05-16 10:34:52 -07:00
1c0dc3f904
Run isort over the source
All checks were successful
the build was successful
2019-05-14 18:59:19 +02:00
a13cc0ab17 More tests for colored logging.
All checks were successful
the build was successful
2019-05-13 21:10:26 -07:00
620f9e64d6 A few more tests for new colored logging.
All checks were successful
the build was successful
2019-05-13 20:49:20 -07:00
37362150fe Color records that are logged via logger.handle() as well.
All checks were successful
the build was successful
2019-05-13 13:50:32 -07:00
1f524d6c87
Add borgmatic custom logger 2019-05-13 13:40:18 +02:00
8650a15db1 Document validate-borgmatic-config and add a few tests.
All checks were successful
the build was successful
2019-05-11 14:05:16 -07:00
52e4f48eb9
Add validate-borgmatic-config command
Some checks failed
the build failed
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
a291477c19 Fix for hooks executing when using --dry-run (#160).
All checks were successful
the build was successful
2019-05-07 16:06:31 -07:00
1c88dda76a Fix for invalid JSON output when using multiple borgmatic configuration files (#155).
All checks were successful
the build was successful
2019-04-02 22:30:14 -07:00
0b59c22c23 Fix for seemingly random filename ordering when running through a directory of configuration files (#157).
All checks were successful
the build was successful
2019-03-30 16:41:21 -07:00
6ff1867312 Configuration files includes and merging (#148).
All checks were successful
the build was successful
2019-03-06 12:06:27 -08:00
3cb52423d2 Support for Borg create/extract --numeric-owner flag (#147).
All checks were successful
the build was successful
2019-03-05 09:11:35 -08:00
4272c6b077 List the files within an archive via --list --archive option (#140).
All checks were successful
the build was successful
2019-02-23 23:02:17 -08:00
fe92d9e838 Fix restore paths list to tuple conversion.
All checks were successful
the build was successful
2019-02-18 21:59:09 -08:00
5ea2d644a2 Fix error handling when --extract repository guard fails.
All checks were successful
the build was successful
2019-02-18 21:52:56 -08:00
c35f90154f Only guard repository when --extract is used.
All checks were successful
the build was successful
2019-02-18 21:43:30 -08:00
2b3b8eab71 Add archive extract to end-to-end test.
All checks were successful
the build was successful
2019-02-18 13:47:18 -08:00
aa7c7651e5 Fix config repositories consumption. 2019-02-18 13:27:35 -08:00
c41ffb5ceb If no extract repository is given, then error if there are multiple configured repositories. 2019-02-18 13:22:14 -08:00
766a03375a Guard that the given repository occurs in config exactly once.
All checks were successful
the build was successful
2019-02-18 12:58:39 -08:00
2a4d4247e3 Tests for extract_archive(). 2019-02-18 10:31:52 -08:00
9de5083a7e Additional test coverage for extract options in borgmatic command. 2019-02-18 09:52:56 -08:00
d0557b2bcd Initial work on #123: Support for Borg extract. 2019-02-18 09:30:34 -08:00
1a980d6321 Organize options within command-line help into logical groups.
All checks were successful
the build was successful
2019-02-12 22:27:04 -08:00
fb21d4e645 Remove dead code.
All checks were successful
the build was successful
2019-02-09 21:17:55 -08:00
6096a7181c Leave exclude_patterns glob expansion to Borg, since doing it in borgmatic leads to confusing behavior (#132).
All checks were successful
the build was successful
2019-01-27 13:47:26 -08:00
fa9dfb8ff7 Remove date echo from schema example, as it's not a substitute for real logging (#127).
All checks were successful
the build was successful
2019-01-27 12:22:22 -08:00
2dc006aab4 Allow use of --stats flag when --create or --prune flags are implied (#139).
All checks were successful
the build was successful
2019-01-27 12:15:47 -08:00
031b9d6faf Handle and format validation errors raised during argument parsing (#136).
All checks were successful
the build was successful
2019-01-27 11:58:04 -08:00
09d521661f Remove weasel words like "easily" and "simply".
All checks were successful
the build was successful
2018-12-25 22:03:34 -08:00
fd46efb193 Add borgmatic --version command-line flag to get the current installed version number.
All checks were successful
the build was successful
2018-12-25 21:01:08 -08:00
426f54c9cc When generating sample configuration, document the defaults for each option (#103).
All checks were successful
the build was successful
2018-12-25 17:05:22 -08:00
45a537b6b1 When running multiple configuration files, attempt all of them even if one errors (#116).
All checks were successful
the build was successful
2018-12-25 15:23:54 -08:00
30b52e5523 With --init command-line flag, if a repository already exists, proceed without erroring (#117). 2018-12-24 22:28:02 -08:00
14aeddc11f Black re-formatting.
All checks were successful
the build was successful
2018-12-24 14:38:57 -08:00
066399ecdb Mention --stats command-line flag in NEWS file.
Some checks failed
the build failed
2018-12-23 16:06:08 -08:00
7516443a89 fix changes requested about stats
All checks were successful
the build was successful
2018-12-22 23:46:03 +01:00
73d67e29b4 Support for Borg create & prune --stats via borgmatic command-line flag (#100) 2018-12-22 23:27:24 +01:00
cc9dbb1def Support for Borg repository initialization via borgmatic --init command-line flag (#110).
All checks were successful
the build was successful
2018-12-10 22:20:57 -08:00
300ead65d3 Error when deprecated --excludes command-line option is used.
Some checks failed
the build failed
2018-12-09 14:57:14 -08:00
7417a3cd00 Update Borg create --filter values so a dry run lists files to back up. (#111).
All checks were successful
the build was successful
2018-12-02 15:03:07 -08:00
9ca80a54d8 Support for Borg create --progress via borgmatic command-line flag (#108).
All checks were successful
the build was successful
2018-11-21 22:03:39 -08:00
5c0b17ef39 Support for Borg --chunker-params create option via "chunker_params" in borgmatic's storage section (#105).
All checks were successful
the build was successful
2018-10-27 15:57:28 -07:00
695930a607 Fix for syntax error that occurred in Python 3.5 and below (#102).
Some checks failed
the build failed
2018-10-15 08:47:15 -07:00
fa38de2de7 Enable consistency checks for only certain repositories via "check_repositories" (#73).
All checks were successful
the build was successful
2018-10-13 20:34:51 -07:00
e4d1b49c39 Switch some functions with many arguments to kwargs only. 2018-10-13 15:19:16 -07:00
2f20e6f808 Include link to issue tracker within various command output.
All checks were successful
the build was successful
2018-10-07 22:29:56 -07:00
da8e9638f4 Support for Borg --keep-secondly prune option (#98).
All checks were successful
the build was successful
2018-10-04 21:54:23 -07:00
a125df991b Move tests to the root of the repository, in keeping with more common convention. 2018-09-30 13:57:20 -07:00
56ad1d164a Use Flake8 code checker as part of running automated tests. 2018-09-29 23:15:18 -07:00
76d6a69f5a Use Black code formatter as part of running automated tests. 2018-09-29 22:45:00 -07:00
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
984702b3b2 Fix various warnings. 2018-09-29 15:06:57 -07:00
47efa88c9d In generate-borgmatic-config, comment out all optional config (#57). 2018-09-29 15:03:11 -07:00
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
a836ec944f Limit argument range for --verbose, make default log level more explicit. (#93) 2018-09-18 05:31:27 +00:00
c5ff08ee25 Remove now-gone verbosity parameter from test. 2018-09-09 11:14:33 -07:00
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
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
9b48eb5a61 Clarify that --json can be used with --info command-line flag. 2018-08-19 12:57:52 -07:00
7d40a448cb Pass --show-rc option to Borg when at highest verbosity level (#89). 2018-08-19 12:44:40 -07:00
da7aed3814 Support for Borg create --checkpoint-interval (#87). 2018-08-19 11:41:49 -07:00
7b77fd2510 Fix compatibility issue between pykwalify and ruamel.yaml 0.15.52 (#85). 2018-08-11 13:59:27 -07:00
282e9565c9 Mentioning new --info --json option in NEWS. 2018-07-28 20:24:19 -07:00
b714ffd48b add support for --info --json (#83) 2018-07-29 03:17:45 +00:00
d93da55ce9 Add code style guidelines to the documention, and reformat some code accordingly. 2018-07-28 15:02:17 -07:00
789bcd402a add support for --list --json (#74) 2018-07-28 21:21:38 +00:00
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
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
d664b6d253 only run hooks when creating an archive
fix #72
2018-07-01 21:09:45 +02:00
cf846ab8ac Support for Borg prune --umask option (#69). 2018-06-17 15:12:43 -07:00
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
765e343c71 Support for Borg --info via borgmatic command-line (#61). 2018-05-26 16:19:05 -07:00
af4b91a048 Support for Borg --list option via borgmatic command-line to list all archives (#61). 2018-05-26 16:09:08 -07:00
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
007ec0644c Ignore "check_last" and consistency "prefix" when "archives" not in consistency checks. (#59) 2018-05-20 22:11:40 -07:00
f7f852a28b Fix tests broken by addition of check --prefix default. 2018-03-03 22:36:51 -08:00
9b9c4c4abb Clarifying note in schema about adding prefix to consistency section. 2018-03-03 22:33:34 -08:00
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
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