Misc new user feedback #554
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What I'm trying to do and why
Become familiar with Borgmatic and use it regularly.
borgmatic
run without arguments is underdocumented. There's a note under actions forborgmatic -h
, but it's easy to miss. Perhaps include some "running default commands: <a,b,c>" output at higher verbosity levels?hooks: healthchecks: ping_url: https://hc-ping.com/your-uuid-here
, with the literal placeholder text. By default, this should ping on start, which shouuld fail due to using an invalid endpoint.borgmatic init
, I wanted to back up my repo key. I had to useborg key export <repo>
to do this. It would be nice if borgmatic wrapped this with a sub-command (borgmatic export-all-keys
?).--files
is recommended in the docs but not documented underborgmatic -h
.For the last item, here's my most recent output on my first, currently running, backup:
The process was run with
-v 2 --files
and hasn't output additional lines for at least several minutes. Borgmatic and Borg are both running, but it's not clear what operation is in progress - or how recently - following integrity verification.This is awesome feedback! It's really good to get a list of all the speedbumps a new user hits, coming at things with a fresh set of eyes. Responses to each point below.
Good feedback. I'll clarify in the documentation.
I'll look into this and get back to you. A Healthchecks failure doesn't cause borgmatic to error (any longer) by design. The idea is that a mere monitoring failure shouldn't block backups ... and Healthchecks will in theory notify you if it doesn't hear from backups after a configured period of time. But borgmatic should at least be warning upon a Healthchecks failure, so that might need fixing.
There's a ticket for that! #345. In the meantime, you may be able to use the
borgmatic borg
action to run an arbitrary/unwrapped Borg command likekey
.It's actually documented under
borgmatic create --help
since it's a create-specific action.borgmatic -h
only shows global actions. I'll clarify that in the documentation here: https://torsion.org/borgmatic/docs/how-to/set-up-backups/#backupsI think this is a Borg issue. You could verify that by running
borgmatic
with--verbosity 2
(if you're not already) and grabbing the Borg command that it's running. Then, run that Borg command directly without borgmatic. If you get that same behavior, then it's not caused by borgmatic interference. If the behavior differs (e.g. if missing log lines show up), then it might be a borgmatic bug. I believe what I'd expect from Borg after verifying integrity ischeck_free_space
.Okay, this should be fixed in master now. borgmatic now warns loudly for an invalid ping URL—but still does not error. The problem was that the Healtchecks server returns an HTTP 400 when there's an invalid Ping URL, and the Python requests library does not raise by default on an HTTP 400. I've worked around that with a more explicit status check. Thanks again for bringing this to my attention.
I'll leave this ticket open for now in case you have any other follow-up.
Sounds good!
Thinking on this a bit more, I think there are two parts here: what Borg does and what Borgmatic does.
Borg's output is a bit cryptic. In the core loop, it's adding files individually and occasionally doing a verification pass. There's no additional feedback with the default arguments.
Borgmatic recommends running
borgmatic create --verbosity 1 --files
. I think that the--progress
and--stats
flags may be more useful to users who are new to both Borg and Borgmatic.I have run into another sharp edge now that my first backup has completed, regarding listing files in my archive:
It would be nice if #2 and #3 worked. #4 looks like it may be an argument parsing bug.
Gotcha. I'll make those more prominent in the docs.
borgmatic actually doesn't support Borg-style repository/archive specification (e.g.
repo::archive
) at all. borgmatic gets the repository implicitly from your configuration (or you can select a single configured repository on some commands with--repository
), and gets the archive via--archive
.Perhaps interestingly, Borg 2 will likely drop support for
repo::archive
-style specification and switch to separate options more similar to borgmatic's command-line!Oh, and for number 4 above (
borgmatic borg
), the behavior is similar: borgmatic passes in your configured repositories (one at a time) by default, and you can override that behavior with--repository
or--archive
. See the examples here for more info: https://torsion.org/borgmatic/docs/how-to/run-arbitrary-borg-commands/Healthchecks fix released in borgmatic 1.6.5!