zfs-snapshot.8 (5224B)
- .\"
- .\" CDDL HEADER START
- .\"
- .\" The contents of this file are subject to the terms of the
- .\" Common Development and Distribution License (the "License").
- .\" You may not use this file except in compliance with the License.
- .\"
- .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- .\" or https://opensource.org/licenses/CDDL-1.0.
- .\" See the License for the specific language governing permissions
- .\" and limitations under the License.
- .\"
- .\" When distributing Covered Code, include this CDDL HEADER in each
- .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- .\" If applicable, add the following below this CDDL HEADER, with the
- .\" fields enclosed by brackets "[]" replaced with your own identifying
- .\" information: Portions Copyright [yyyy] [name of copyright owner]
- .\"
- .\" CDDL HEADER END
- .\"
- .\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
- .\" Copyright 2011 Joshua M. Clulow <josh@sysmgr.org>
- .\" Copyright (c) 2011, 2019 by Delphix. All rights reserved.
- .\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
- .\" Copyright (c) 2014, Joyent, Inc. All rights reserved.
- .\" Copyright (c) 2014 by Adam Stevko. All rights reserved.
- .\" Copyright (c) 2014 Integros [integros.com]
- .\" Copyright 2019 Richard Laager. All rights reserved.
- .\" Copyright 2018 Nexenta Systems, Inc.
- .\" Copyright 2019 Joyent, Inc.
- .\"
- .Dd March 16, 2022
- .Dt ZFS-SNAPSHOT 8
- .Os
- .
- .Sh NAME
- .Nm zfs-snapshot
- .Nd create snapshots of ZFS datasets
- .Sh SYNOPSIS
- .Nm zfs
- .Cm snapshot
- .Op Fl r
- .Oo Fl o Ar property Ns = Ns Ar value Oc Ns …
- .Ar dataset Ns @ Ns Ar snapname Ns …
- .
- .Sh DESCRIPTION
- Creates a snapshot of a dataset or multiple snapshots of different
- datasets.
- .Pp
- Snapshots are created atomically.
- That is, a snapshot is a consistent image of a dataset at a specific
- point in time; it includes all modifications to the dataset made by
- system calls that have successfully completed before that point in time.
- Recursive snapshots created through the
- .Fl r
- option are all created at the same time.
- .Pp
- .Nm zfs Cm snap
- can be used as an alias for
- .Nm zfs Cm snapshot .
- .Pp
- See the
- .Sx Snapshots
- section of
- .Xr zfsconcepts 7
- for details.
- .Bl -tag -width "-o"
- .It Fl o Ar property Ns = Ns Ar value
- Set the specified property; see
- .Nm zfs Cm create
- for details.
- .It Fl r
- Recursively create snapshots of all descendent datasets
- .El
- .
- .Sh EXAMPLES
- .\" These are, respectively, examples 2, 3, 10, 15 from zfs.8
- .\" Make sure to update them bidirectionally
- .Ss Example 1 : No Creating a ZFS Snapshot
- The following command creates a snapshot named
- .Ar yesterday .
- This snapshot is mounted on demand in the
- .Pa .zfs/snapshot
- directory at the root of the
- .Ar pool/home/bob
- file system.
- .Dl # Nm zfs Cm snapshot Ar pool/home/bob Ns @ Ns Ar yesterday
- .
- .Ss Example 2 : No Creating and Destroying Multiple Snapshots
- The following command creates snapshots named
- .Ar yesterday No of Ar pool/home
- and all of its descendent file systems.
- Each snapshot is mounted on demand in the
- .Pa .zfs/snapshot
- directory at the root of its file system.
- The second command destroys the newly created snapshots.
- .Dl # Nm zfs Cm snapshot Fl r Ar pool/home Ns @ Ns Ar yesterday
- .Dl # Nm zfs Cm destroy Fl r Ar pool/home Ns @ Ns Ar yesterday
- .
- .Ss Example 3 : No Promoting a ZFS Clone
- The following commands illustrate how to test out changes to a file system, and
- then replace the original file system with the changed one, using clones, clone
- promotion, and renaming:
- .Bd -literal -compact -offset Ds
- .No # Nm zfs Cm create Ar pool/project/production
- populate /pool/project/production with data
- .No # Nm zfs Cm snapshot Ar pool/project/production Ns @ Ns Ar today
- .No # Nm zfs Cm clone Ar pool/project/production@today pool/project/beta
- make changes to /pool/project/beta and test them
- .No # Nm zfs Cm promote Ar pool/project/beta
- .No # Nm zfs Cm rename Ar pool/project/production pool/project/legacy
- .No # Nm zfs Cm rename Ar pool/project/beta pool/project/production
- once the legacy version is no longer needed, it can be destroyed
- .No # Nm zfs Cm destroy Ar pool/project/legacy
- .Ed
- .
- .Ss Example 4 : No Performing a Rolling Snapshot
- The following example shows how to maintain a history of snapshots with a
- consistent naming scheme.
- To keep a week's worth of snapshots, the user destroys the oldest snapshot,
- renames the remaining snapshots, and then creates a new snapshot, as follows:
- .Bd -literal -compact -offset Ds
- .No # Nm zfs Cm destroy Fl r Ar pool/users@7daysago
- .No # Nm zfs Cm rename Fl r Ar pool/users@6daysago No @ Ns Ar 7daysago
- .No # Nm zfs Cm rename Fl r Ar pool/users@5daysago No @ Ns Ar 6daysago
- .No # Nm zfs Cm rename Fl r Ar pool/users@4daysago No @ Ns Ar 5daysago
- .No # Nm zfs Cm rename Fl r Ar pool/users@3daysago No @ Ns Ar 4daysago
- .No # Nm zfs Cm rename Fl r Ar pool/users@2daysago No @ Ns Ar 3daysago
- .No # Nm zfs Cm rename Fl r Ar pool/users@yesterday No @ Ns Ar 2daysago
- .No # Nm zfs Cm rename Fl r Ar pool/users@today No @ Ns Ar yesterday
- .No # Nm zfs Cm snapshot Fl r Ar pool/users Ns @ Ns Ar today
- .Ed
- .
- .Sh SEE ALSO
- .Xr zfs-bookmark 8 ,
- .Xr zfs-clone 8 ,
- .Xr zfs-destroy 8 ,
- .Xr zfs-diff 8 ,
- .Xr zfs-hold 8 ,
- .Xr zfs-rename 8 ,
- .Xr zfs-rollback 8 ,
- .Xr zfs-send 8