table of contents
VFS_SHADOW_COPY2(8) | System Administration tools | VFS_SHADOW_COPY2(8) |
NAME¶
vfs_shadow_copy2 - Expose snapshots to Windows clients as shadow copies.
SYNOPSIS¶
vfs objects = shadow_copy2
DESCRIPTION¶
This VFS module is part of the samba(7) suite.
The vfs_shadow_copy2 VFS module offers a functionality similar to Microsoft Shadow Copy services. When set up properly, this module allows Microsoft Shadow Copy clients to browse through file system snapshots as "shadow copies" on Samba shares.
This is a second implementation of a shadow copy module which has the following additional features (compared to the original shadow_copy(8) module):
This module is stackable.
CONFIGURATION¶
vfs_shadow_copy2 relies on a filesystem snapshot implementation. Many common filesystems have native support for this.
Filesystem snapshots must be available under specially named directories in order to be recognized by vfs_shadow_copy2. These snapshot directory is typically a direct subdirectory of the share root's mountpoint but there are other modes that can be configured with the parameters described in detail below.
The snapshot at a given point in time is expected in a subdirectory of the snapshot directory where the snapshot's directory is expected to be a formatted version of the snapshot time. The default format which can be changed with the shadow:format option is @GMT-YYYY.MM.DD-hh.mm.ss, where:
The vfs_shadow_copy2 snapshot naming convention can be produced with the following date(1) command:
TZ=GMT date +@GMT-%Y.%m.%d-%H.%M.%S
OPTIONS¶
shadow:mountpoint = MOUNTPOINT
Example: shadow:mountpoint = /path/to/filesystem
Default: shadow:mountpoint = NOT SPECIFIED
shadow:snapdir = SNAPDIR
Note that shadow:snapdirseverywhere depends on this parameter and needs a relative path. Setting an absolute path disables shadow:snapdirseverywhere.
Note that the shadow:crossmountpoints option also requires a relative snapdir. Setting an absolute path disables shadow:crossmountpoints.
Example: shadow:snapdir = /some/absolute/path
Default: shadow:snapdir = .snapshots
shadow:basedir = BASEDIR
For example, if
or snapshot_path = snapdir if snapdir is absolute
The default for the basedir is the mount point of the file system of the share root (see shadow:mountpoint).
Note that the shadow:snapdirseverywhere and shadow:crossmountpoints options are incompatible with shadow:basedir and disable the basedir setting.
shadow:snapsharepath = SNAPSHAREPATH
For example, if within each snapshot the files of the share have a path/to/share/ prefix, then shadow:snapsharepath can be set to path/to/share.
With this parameter, it is no longer assumed that a snapshot represents an image of the original file system or a portion of it. For example, a system could perform backups of only files contained in shares, and then expose the backup files in a logical structure:
Example: shadow:snapsharepath = path/to/share
Default: shadow:snapsharepath = NOT SPECIFIED
shadow:sort = asc/desc
Example: shadow:sort = asc
Example: shadow:sort = none
Default: shadow:sort = desc
shadow:localtime = yes/no
shadow:localtime = no
shadow:format = format specification for snapshot names
Default: shadow:format = "@GMT-%Y.%m.%d-%H.%M.%S"
shadow:sscanf = yes/no
Default: shadow:sscanf = no
shadow:fixinodes = yes/no
Default: shadow:fixinodes = no
shadow:snapdirseverywhere = yes/no
An example where this is needed are independent filesets in IBM's GPFS, but other filesystems might support snapshotting only particular subtrees of the filesystem as well.
Note that shadow:snapdirseverywhere depends on shadow:snapdir and needs it to be a relative path. Setting an absolute snapdir path disables shadow:snapdirseverywhere.
Note that this option is incompatible with the shadow:basedir option and removes the shadow:basedir setting by itself.
Example: shadow:snapdirseverywhere = yes
Default: shadow:snapdirseverywhere = no
shadow:crossmountpoints = yes/no
An example where this is needed are independent filesets in IBM's GPFS, but other filesystems might support snapshotting only particular subtrees of the filesystem as well.
Note that shadow:crossmountpoints depends on shadow:snapdir and needs it to be a relative path. Setting an absolute snapdir path disables shadow:crossmountpoints.
Note that this option is incompatible with the shadow:basedir option and removes the shadow:basedir setting by itself.
Example: shadow:crossmountpoints = yes
Default: shadow:crossmountpoints = no
shadow:snapprefix
shadow:delimiter
Default: shadow:delimiter = "_GMT"
EXAMPLES¶
Add shadow copy support to user home directories:
[homes] vfs objects = shadow_copy2 shadow:snapdir = /data/snapshots shadow:basedir = /data/home shadow:sort = desc
CAVEATS¶
This is not a backup, archival, or version control solution.
With Samba or Windows servers, vfs_shadow_copy2 is designed to be an end-user tool only. It does not replace or enhance your backup and archival solutions and should in no way be considered as such. Additionally, if you need version control, implement a version control system.
VERSION¶
This man page is part of version 4.19.4 of the Samba suite.
AUTHOR¶
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.
04/19/2024 | Samba 4.19.4 |