FreeBSD Manual Pages
SNAPSHOT(8) System Manager's Manual SNAPSHOT(8) NAME snapshot -- UFS/ZFS snapshot management utility SYNOPSIS snapshot [options] [command] [arguments] DESCRIPTION The snapshot command is a convenience frontend to mount(8) and mdconfig(8) for the management of UFS/ZFS snapshots. It is also the underlying tool used in the periodic snapshot scheduler periodic-snapshot(8) and the mounting/unmouning command in the amd(8) map /etc/amd.map.snap. It provides the making, expiring, visiting, mounting and unmounting of filesystem snapshots. The following global options are available: -v Display verbose messages showing the essential system commands involved in the operation. -h Display a short usage help message and exit. -d subdir Set the subdirectory on filesystems under which snapshots are placed. The default is the conventional .snap subdirectory dump(8) uses, too. The following commands are available: snapshot list [fs ...] List all existing snapshots on all filesystems or just the par- ticular filesystems specified by fs. The output shows both ac- tual disk-space user usage ("User", "User%") and the disk-space snapshot usage ("Snap", "Snap%"). snapshot make [-g max-generations] fs:tag[.generation] Makes a new snapshot generation named tag on filesystem fs, lo- cated in the file fs/subdir/tag.generation. If the generation part is omitted, generation 0 is used. All older generations (with numbers greater than generation) are rotated and all ob- soleted generations (with numbers greater or equal to max-generations) are removed. Keep in mind that a maximum total number of 20 snapshots can be created on a UFS filesystem only. A max-generations number of 0 effectively deletes all snapshots on filesystem fs of name tag only. snapshot mount [-o mount-option] fs:tag[.generation] dir Mounts the fs snapshot tag.generation (or tag.0 if generation is omitted) under dir by attaching the snapshot file to the next free md(4) device and mounting this device read-only onto the target directory. If options -o are specified, they are passed-through to mount(8). snapshot umount dir Unmounts a snapshot by umounting the md(4) device from dir, deattaching the snapshot file from the corresponding md(4) de- vice and deleting the device. snapshot visit fs:tag[.generation] This is just a convenience command which mounts the specified filesystem on /mnt, temporarily changes to /mnt, starts an in- teractive shell there for inspecting the snapshot content, and upon exit from the shell immediately unmounts the snapshot again. EXAMPLE The following sample session illustrates the making, rotation, mount- ing, unmounting and removal of snapshots: root# snapshot list /var Filesystem User User% Snap Snap% Snapshot root# snapshot make -g4 /var:test root# snapshot list /var Filesystem User User% Snap Snap% Snapshot /var 1172MB 14.8% 4MB 0.1% test.0 root# snapshot make -g4 /var:test root# snapshot list /var Filesystem User User% Snap Snap% Snapshot /var 1176MB 14.8% 4MB 0.1% test.0 /var 1176MB 14.8% 4MB 0.1% test.1 root# snapshot make -g4 /var:test root# snapshot list /var Filesystem User User% Snap Snap% Snapshot /var 1181MB 14.9% 4MB 0.1% test.0 /var 1181MB 14.9% 4MB 0.1% test.1 /var 1181MB 14.9% 4MB 0.1% test.2 root# snapshot make -g4 /var:test root# snapshot list /var Filesystem User User% Snap Snap% Snapshot /var 1186MB 15.0% 4MB 0.1% test.0 /var 1186MB 15.0% 4MB 0.1% test.1 /var 1186MB 15.0% 4MB 0.1% test.2 /var 1186MB 15.0% 4MB 0.1% test.3 root# snapshot make -g4 /var:test root# snapshot list /var Filesystem User User% Snap Snap% Snapshot /var 1186MB 15.0% 4MB 0.1% test.0 /var 1186MB 15.0% 4MB 0.1% test.1 /var 1186MB 15.0% 4MB 0.1% test.2 /var 1186MB 15.0% 4MB 0.1% test.3 root# snapshot mount /var:test.2 /mnt root# ls /mnt account cron heimdal mail opkg spool at db lib msgs preserve tmp backups empty log named run yp root# snapshot umount /mnt root# snapshot make -g0 /var:test root# snapshot list /var Filesystem User User% Snap Snap% Snapshot root# _ By using an amd(8) map /usr/local/etc/amd.map.snap containing /defaults type:=program * mount:="/usr/local/sbin/snapshot snapshot mount /${key} ${fs}";\ unmount:="/usr/local/sbin/snapshot snapshot umount ${fs}" and a /etc/rc.conf configuration of amd_enable="YES" amd_flags="-a /.am -c 1800 -w 60 -l syslog /snap /usr/local/etc/amd.map.snap" even non-privileged users can access arbitrary snapshots fs:tag[generation] by just accessing /snap/fs:tag[generation]. For in- stance, if a snapshot hourly.2 exists on filesystem /var one can then access an old state of file /var/tmp/foo.txt by simply accessing the path /snap/var:hourly.2/tmp/foo.txt. SEE ALSO mount(8), mdconfig(8), md(4), periodic-snapshot(8), http://people.freebsd.org/~rse/snapshot/. HISTORY The snapshot utility first appeared in FreeBSD. AUTHORS Ralf S. Engelschall <rse@FreeBSD.org> FreeBSD ports 15.0 September 3, 2004 SNAPSHOT(8)
NAME | SYNOPSIS | DESCRIPTION | EXAMPLE | SEE ALSO | HISTORY | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=snapshot&sektion=8&manpath=FreeBSD+Ports+15.0>
