5.3 KiB
title |
---|
How to inspect your backups |
Backup progress
By default, borgmatic runs proceed silently except in the case of errors. But if you'd like to to get additional information about the progress of the backup as it proceeds, use the verbosity option:
borgmatic --verbosity 1
This lists the files that borgmatic is archiving, which are those that are new or changed since the last backup.
Or, for even more progress and debug spew:
borgmatic --verbosity 2
Backup summary
If you're less concerned with progress during a backup, and you just want to see the summary of archive statistics at the end, you can use the stats option when performing a backup:
borgmatic --stats
Existing backups
borgmatic provides convenient actions for Borg's list and info functionality:
borgmatic list
borgmatic info
(No borgmatic list
or info
actions? Try the old-style --list
or
--info
. Or upgrade borgmatic!)
Logging
By default, borgmatic logs to a local syslog-compatible daemon if one is
present and borgmatic is running in a non-interactive console. Where those
logs show up depends on your particular system. If you're using systemd, try
running journalctl -xe
. Otherwise, try viewing /var/log/syslog
or
similiar.
You can customize the log level used for syslog logging with the
--syslog-verbosity
flag, and this is independent from the console logging
--verbosity
flag described above. For instance, to get additional
information about the progress of the backup as it proceeds:
borgmatic --syslog-verbosity 1
Or to increase syslog logging to include debug spew:
borgmatic --syslog-verbosity 2
systemd journal
If your local syslog daemon is systemd's journal, be aware that journald by
default throttles the rate at which a particular program can log. So you may
need to change the journald rate
limit
in /etc/systemd/journald.conf
if you're finding that borgmatic journald logs
are missing.
Note that the sample borgmatic systemd service file already has this rate limit disabled.
Error alerting
When an error occurs during a backup, borgmatic can run configurable shell commands to fire off custom error notifications or take other actions, so you can get alerted as soon as something goes wrong. Here's a not-so-useful example:
hooks:
on_error:
- echo "Error while creating a backup or running a backup hook."
The on_error
hook supports interpolating particular runtime variables into
the hook command. Here's an example that assumes you provide a separate shell
script to handle the alerting:
hooks:
on_error:
- send-text-message.sh "{configuration_filename}" "{repository}"
In this example, when the error occurs, borgmatic interpolates a few runtime values into the hook command: the borgmatic configuration filename, and the path of the repository. Here's the full set of supported variables you can use here:
configuration_filename
: borgmatic configuration filename in which the error occurredrepository
: path of the repository in which the error occurred (may be blank if the error occurs in a hook)error
: the error message itselfoutput
: output of the command that failed (may be blank if an error occurred without running a command)
Note that borgmatic does not run on_error
hooks if an error occurs within a
before_everything
or after_everything
hook. For more about hooks, see the
borgmatic hooks
documentation,
especially the security information.
Scripting borgmatic
To consume the output of borgmatic in other software, you can include an
optional --json
flag with create
, list
, or info
to get the output
formatted as JSON.
Note that when you specify the --json
flag, Borg's other non-JSON output is
suppressed so as not to interfere with the captured JSON. Also note that JSON
output only shows up at the console, and not in syslog.
Successful backups
borgmatic list
includes support for a --successful
flag that only lists
successful (non-checkpoint) backups. Combined with a built-in Borg flag like
--last
, you can list the last successful backup for use in your monitoring
scripts. Here's an example combined with --json
:
borgmatic list --successful --last 1 --json
Note that this particular combination will only work if you've got a single
backup "series" in your repository. If you're instead backing up, say, from
multiple different hosts into a single repository, then you'll need to get
fancier with your archive listing. See borg list --help
for more flags.