borgmatic/docs/how-to/inspect-your-backups.md
Dan Helfman 8d860ea02c
Enhanced docs with info on fetching mysql database size
Merge pull request #46 from Jelle-SamsonIT/patch-3
2023-03-08 15:52:28 -08:00

5.1 KiB

title eleventyNavigation
How to inspect your backups
key parent order
🔎 Inspect your backups How-to guides 5

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 only 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

You can change the output format of borgmatic list by specifying your own with --format. Refer to the borg list --format documentation for available values.

(No borgmatic list or info actions? Upgrade borgmatic!)

New in borgmatic version 1.7.0 There are also rlist and rinfo actions for displaying repository information with Borg 2.x:

borgmatic rlist
borgmatic rinfo

See the borgmatic command-line reference for more information.

Searching for a file

New in version 1.6.3 Let's say you've accidentally deleted a file and want to find the backup archive(s) containing it. borgmatic list provides a --find flag for exactly this purpose. For instance, if you're looking for a foo.txt:

borgmatic list --find foo.txt

This will list your archives and indicate those with files matching *foo.txt* anywhere in the archive. The --find parameter can alternatively be a Borg pattern.

To limit the archives searched, use the standard list parameters for filtering archives such as --last, --archive, --match-archives, etc. For example, to search only the last five archives:

borgmatic list --find foo.txt --last 5

Monitoring mysql backup size

If you have enabled borgmatic's native mysql hook you can query the size of your sql backups from the host you're backing up itself. This works even when using an append-only access key like you can use on borgbase.com.

For example:

borgmatic list --archive latest --no-color | grep  root/.borgmatic/mysql_databases/localhost/

Note that the localhost part of the path in the regex is dependent on how your config looks. If you connect to an external database your config, change to the regexp accordingly because the path will be different.

An additional caveat is that when you specify "all" for your database config, there will be one file named "all.sql" in the localhost folder. Specify your database names in config individually to have one file per database.

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

Rate limiting

If you are using rsyslog or systemd's journal, be aware that by default they both throttle the rate at which logging occurs. So you may need to change either the global rate limit or the per-service rate limit if you're finding that borgmatic logs are missing.

Note that the sample borgmatic systemd service file already has this rate limit disabled for systemd's journal.

Logging to file

If you don't want to use syslog, and you'd rather borgmatic log to a plain file, use the --log-file flag:

borgmatic --log-file /path/to/file.log

Note that if you use the --log-file flag, you are responsible for rotating the log file so it doesn't grow too large, for example with logrotate. Also, there is a --log-file-verbosity flag to customize the log file's log level.