zfs-snapshot.8
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
system 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.
EXAMPLES
Example 1: Creating a ZFS Snapshot
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@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)
March 16, 2022 | Debian |