borg mount

borg [common options] mount [options] REPOSITORY_OR_ARCHIVE MOUNTPOINT [PATH...]
positional arguments
  REPOSITORY_OR_ARCHIVE repository or archive to mount
  MOUNTPOINT where to mount filesystem
  PATH paths to extract; patterns are supported
optional arguments
  --consider-checkpoints Show checkpoint archives in the repository contents list (default: hidden).
  -f, --foreground stay in foreground, do not daemonize
  -o Extra mount options
  --numeric-owner deprecated, use --numeric-ids instead
  --numeric-ids use numeric user and group identifiers from archive(s)

Common options

Archive filters — Archive filters can be applied to repository targets.
  -P PREFIX, --prefix PREFIX only consider archive names starting with this prefix.
  -a GLOB, --glob-archives GLOB only consider archive names matching the glob. sh: rules apply, see “borg help patterns”. --prefix and --glob-archives are mutually exclusive.
  --sort-by KEYS Comma-separated list of sorting keys; valid keys are: timestamp, name, id; default is: timestamp
  --first N consider first N archives after other filters were applied
  --last N consider last N archives after other filters were applied
Exclusion options
  -e PATTERN, --exclude PATTERN exclude paths matching PATTERN
  --exclude-from EXCLUDEFILE read exclude patterns from EXCLUDEFILE, one per line
  --pattern PATTERN experimental: include/exclude paths matching PATTERN
  --patterns-from PATTERNFILE experimental: read include/exclude patterns from PATTERNFILE, one per line
  --strip-components NUMBER Remove the specified number of leading path elements. Paths with fewer elements will be silently skipped.

Description

This command mounts an archive as a FUSE filesystem. This can be useful for browsing an archive or restoring individual files. Unless the --foreground option is given the command will run in the background until the filesystem is umounted.

The command borgfs provides a wrapper for borg mount. This can also be used in fstab entries: /path/to/repo /mnt/point fuse.borgfs defaults,noauto 0 0

To allow a regular user to use fstab entries, add the user option: /path/to/repo /mnt/point fuse.borgfs defaults,noauto,user 0 0

For FUSE configuration and mount options, see the mount.fuse(8) manual page.

Additional mount options supported by borg:

  • versions: when used with a repository mount, this gives a merged, versioned view of the files in the archives. EXPERIMENTAL, layout may change in future.
  • allow_damaged_files: by default damaged files (where missing chunks were replaced with runs of zeros by borg check --repair) are not readable and return EIO (I/O error). Set this option to read such files.
  • ignore_permissions: for security reasons the “default_permissions” mount option is internally enforced by borg. “ignore_permissions” can be given to not enforce “default_permissions”.

The BORG_MOUNT_DATA_CACHE_ENTRIES environment variable is meant for advanced users to tweak the performance. It sets the number of cached data chunks; additional memory usage can be up to ~8 MiB times this number. The default is the number of CPU cores.

When the daemonized process receives a signal or crashes, it does not unmount. Unmounting in these cases could cause an active rsync or similar process to unintentionally delete data.

When running in the foreground ^C/SIGINT unmounts cleanly, but other signals or crashes do not.

borg umount

borg [common options] umount [options] MOUNTPOINT
positional arguments
  MOUNTPOINT mountpoint of the filesystem to umount

Common options

Description

This command un-mounts a FUSE filesystem that was mounted with borg mount.

This is a convenience wrapper that just calls the platform-specific shell command - usually this is either umount or fusermount -u.

Examples

# Mounting the repository shows all archives.
# Archives are loaded lazily, expect some delay when navigating to an archive
# for the first time.
$ borg mount /path/to/repo /tmp/mymountpoint
$ ls /tmp/mymountpoint
root-2016-02-14 root-2016-02-15
$ borg umount /tmp/mymountpoint

# Mounting a specific archive is possible as well.
$ borg mount /path/to/repo::root-2016-02-15 /tmp/mymountpoint
$ ls /tmp/mymountpoint
bin  boot  etc      home  lib  lib64  lost+found  media  mnt  opt
root  sbin  srv  tmp  usr  var
$ borg umount /tmp/mymountpoint

# The experimental "versions view" merges all archives in the repository
# and provides a versioned view on files.
$ borg mount -o versions /path/to/repo /tmp/mymountpoint
$ ls -l /tmp/mymountpoint/home/user/doc.txt/
total 24
-rw-rw-r-- 1 user group 12357 Aug 26 21:19 doc.cda00bc9.txt
-rw-rw-r-- 1 user group 12204 Aug 26 21:04 doc.fa760f28.txt
$ borg umount /tmp/mymountpoint

# Archive filters are supported.
# These are especially handy for the "versions view",
# which does not support lazy processing of archives.
$ borg mount -o versions --glob-archives '*-my-home' --last 10 /path/to/repo /tmp/mymountpoint

# Exclusion options are supported.
# These can speed up mounting and lower memory needs significantly.
$ borg mount /path/to/repo /tmp/mymountpoint only/that/path
$ borg mount --exclude '...' /path/to/repo /tmp/mymountpoint

borgfs

$ echo '/mnt/backup /tmp/myrepo fuse.borgfs defaults,noauto 0 0' >> /etc/fstab
$ echo '/mnt/backup::root-2016-02-15 /tmp/myarchive fuse.borgfs defaults,noauto 0 0' >> /etc/fstab
$ mount /tmp/myrepo
$ mount /tmp/myarchive
$ ls /tmp/myrepo
root-2016-02-01 root-2016-02-2015
$ ls /tmp/myarchive
bin  boot  etc      home  lib  lib64  lost+found  media  mnt  opt  root  sbin  srv  tmp  usr  var

Note

borgfs will be automatically provided if you used a distribution package, pip or setup.py to install Borg. Users of the standalone binary will have to manually create a symlink (see Standalone Binary).