Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 mount-
     ing/unmouning command in the amd(8) map /etc/amd.map.snap.  It provides the
     making,  expiring,  visiting,  mounting  and unmounting of filesystem snap-
     shots.

     The following global options are available:

     -v      Display verbose messages showing the essential system commands  in-
	     volved 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 particu-
	     lar  filesystems  specified  by  fs.   The output shows both actual
	     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, located
	     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 obsoleted  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 di-
	     rectory.	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,  deat-
	     taching  the  snapshot file from the corresponding md(4) device 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 interac-
	     tive 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, mounting,
     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 instance,  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://peo-
     ple.freebsd.org/~rse/snapshot/.

HISTORY
     The snapshot utility first appeared in FreeBSD.

AUTHORS
     Ralf S. Engelschall <rse@FreeBSD.org>

FreeBSD ports 15.quarterly	September 3, 2004		     SNAPSHOT(8)

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.1.quarterly>

home | help