FreeBSD Manual Pages
ZFS-SNAPSHOT(8) System Manager's Manual ZFS-SNAPSHOT(8) NAME zfs-snapshot -- create snapshots of ZFS datasets SYNOPSIS zfs snapshot [-r] [-o property=value] dataset@snapname DESCRIPTION All previous modifications by successful system calls to the file sys- tem are part of the snapshots. Snapshots are taken atomically, so that all snapshots correspond to the same moment in time. zfs snap can be used as an alias for zfs snapshot. See the "Snapshots" section of zfsconcepts(7) for details. -o property=value Set the specified property; see zfs create for details. -r Recursively create snapshots of all descendent datasets EXAMPLES Example 1: Creating a ZFS Snapshot The following command creates a snapshot named yesterday. This snap- shot is mounted on demand in the .zfs/snapshot directory at the root of the pool/home/bob file system. # zfs snapshot pool/home/bob@yesterday Example 2: Creating and Destroying Multiple Snapshots The following command creates snapshots named yesterday of pool/home and all of its descendent file systems. Each snapshot is mounted on demand in the .zfs/snapshot directory at the root of its file system. The second command destroys the newly created snapshots. # zfs snapshot -r pool/home@yesterday # zfs destroy -r pool/home@yesterday Example 3: 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: # zfs create pool/project/production populate /pool/project/production with data # zfs snapshot pool/project/production@today # zfs clone pool/project/production@today pool/project/beta make changes to /pool/project/beta and test them # zfs promote pool/project/beta # zfs rename pool/project/production pool/project/legacy # zfs rename pool/project/beta pool/project/production once the legacy version is no longer needed, it can be destroyed # zfs destroy pool/project/legacy Example 4: 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: # zfs destroy -r pool/users@7daysago # zfs rename -r pool/users@6daysago @7daysago # zfs rename -r pool/users@5daysago @6daysago # zfs rename -r pool/users@4daysago @5daysago # zfs rename -r pool/users@3daysago @4daysago # zfs rename -r pool/users@2daysago @3daysago # zfs rename -r pool/users@yesterday @2daysago # zfs rename -r pool/users@today @yesterday # zfs snapshot -r pool/users@today SEE ALSO zfs-bookmark(8), zfs-clone(8), zfs-destroy(8), zfs-diff(8), zfs-hold(8), zfs-rename(8), zfs-rollback(8), zfs-send(8) FreeBSD 14.3 March 16, 2022 ZFS-SNAPSHOT(8)
NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=zfs-snapshot&manpath=FreeBSD+14.3-RELEASE+and+Ports>