borg [common options] mount [options] REPOSITORY_OR_ARCHIVE MOUNTPOINT [PATH...]
positional arguments |
||
|
repository or archive to mount |
|
|
where to mount filesystem |
|
|
paths to extract; patterns are supported |
|
optional arguments |
||
|
stay in foreground, do not daemonize |
|
|
Extra mount options |
|
Archive filters — Archive filters can be applied to repository targets. |
||
|
only consider archive names starting with this prefix. |
|
|
only consider archive names matching the glob. sh: rules apply, see “borg help patterns”. |
|
|
Comma-separated list of sorting keys; valid keys are: timestamp, name, id; default is: timestamp |
|
|
consider first N archives after other filters were applied |
|
|
consider last N archives after other filters were applied |
|
Exclusion options |
||
|
exclude paths matching PATTERN |
|
|
read exclude patterns from EXCLUDEFILE, one per line |
|
|
include/exclude paths matching PATTERN |
|
|
read include/exclude patterns from PATTERNFILE, one per line |
|
|
Remove the specified number of leading path elements. Paths with fewer elements will be silently skipped. |
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.
Borg’s default behavior is to use the archived user and group names of each
file and map them to the system’s respective user and group ids.
Alternatively, using numeric-ids
will instead use the archived user and
group ids without any mapping.
The uid
and gid
mount options (implemented by Borg) can be used to
override the user and group ids of all files (i.e., borg mount -o
uid=1000,gid=1000
).
The man page references user_id
and group_id
mount options
(implemented by fuse) which specify the user and group id of the mount owner
(aka, the user who does the mounting). It is set automatically by libfuse (or
the filesystem if libfuse is not used). However, you should not specify these
manually. Unlike the uid
and gid
mount options which affect all files,
user_id
and group_id
affect the user and group id of the mounted
(base) directory.
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 [common options] umount [options] MOUNTPOINT
positional arguments |
||
|
mountpoint of the filesystem to umount |
|
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.
# 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 "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
$ 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).