Clarify database limitations.

This commit is contained in:
Dan Helfman 2024-04-28 16:55:24 -07:00
parent 4f83b1e6b3
commit 5f10b1b2ca

View file

@ -437,20 +437,21 @@ borgmatic's own configuration file. So include your configuration file in
backups to avoid getting caught without a way to restore a database. backups to avoid getting caught without a way to restore a database.
3. borgmatic does not currently support backing up or restoring multiple 3. borgmatic does not currently support backing up or restoring multiple
databases that share the exact same name on different hosts. databases that share the exact same name on different hosts.
4. Because database hooks implicitly enable the `read_special` option, any 4. When database hooks are enabled, borgmatic instructs Borg to consume
special files are excluded from backups (named pipes, block devices, special files (via `--read-special`) to support database dump
character devices, and sockets) to prevent hanging. Try a command like streaming—regardless of the value of your `read_special` configuration option.
`find /your/source/path -type b -or -type c -or -type p -or -type s` to And because this can cause Borg to hang, borgmatic also automatically excludes
find such files. Common directories to exclude are `/dev` and `/run`, but special files (and symlinks to them) that Borg may get stuck on. Even so,
that may not be exhaustive. <span class="minilink minilink-addedin">New in there are still potential edge cases in which applications on your system
version 1.7.3</span> When database hooks are enabled, borgmatic create new special files *after* borgmatic constructs its exclude list,
automatically excludes special files (and symlinks to special files) that resulting in Borg hangs. If that occurs, you can resort to manually excluding
may cause Borg to hang, so generally you no longer need to manually exclude those files. And if you explicitly set the `read-special` option to `true`,
them. There are potential edge cases though in which applications on your borgmatic will opt you out of the auto-exclude feature entirely, but will
system create new special files *after* borgmatic constructs its exclude still instruct Borg to consume special files—you will just be on your own to
list, resulting in Borg hangs. If that occurs, you can resort to the manual exclude them. <span class="minilink minilink-addedin">Prior to version
excludes described above. And to opt out of the auto-exclude feature 1.7.3</span>Special files were not auto-excluded, and you were responsible for
entirely, explicitly set `read_special` to true. excluding them yourself. Common directories to exclude are `/dev` and `/run`,
but that may not be exhaustive.
5. Database hooks also implicitly enable the `one_file_system` option, which 5. Database hooks also implicitly enable the `one_file_system` option, which
means Borg won't cross filesystem boundaries when looking for files to backup. means Borg won't cross filesystem boundaries when looking for files to backup.
This is especially important when running borgmatic in a container, as This is especially important when running borgmatic in a container, as