| ZFS-SNAPSHOT(8) | System Manager's Manual | ZFS-SNAPSHOT(8) |
zfs-snapshot —
create snapshots of ZFS datasets
zfs |
snapshot [-r]
[-o
property=value]…
dataset@snapname… |
Creates a snapshot of a dataset or multiple snapshots of different datasets.
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
-r option are all created at the same time.
zfs snap can be
used as an alias for zfs
snapshot.
See the Snapshots section of zfsconcepts(7) for details.
The following command creates a snapshot named yesterday. This snapshot is mounted on demand in the .zfs/snapshot directory at the root of the pool/home/bob file system.
# zfs
snapshot
pool/home/bob@yesterdayThe 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@yesterdayThe 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:
#zfscreatepool/project/production populate /pool/project/production with data #zfssnapshotpool/project/production@today #zfsclonepool/project/production@today pool/project/beta make changes to /pool/project/beta and test them #zfspromotepool/project/beta #zfsrenamepool/project/production pool/project/legacy #zfsrenamepool/project/beta pool/project/production once the legacy version is no longer needed, it can be destroyed #zfsdestroypool/project/legacy
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:
#zfsdestroy-rpool/users@7daysago #zfsrename-rpool/users@6daysago @7daysago #zfsrename-rpool/users@5daysago @6daysago #zfsrename-rpool/users@4daysago @5daysago #zfsrename-rpool/users@3daysago @4daysago #zfsrename-rpool/users@2daysago @3daysago #zfsrename-rpool/users@yesterday @2daysago #zfsrename-rpool/users@today @yesterday #zfssnapshot-rpool/users@today
zfs-bookmark(8), zfs-clone(8), zfs-destroy(8), zfs-diff(8), zfs-hold(8), zfs-rename(8), zfs-rollback(8), zfs-send(8)
| March 16, 2022 | OpenZFS |