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

FreeBSD Manual Pages

  
 
  

home | help
ZFS-DESTROY(8)		     System Manager's Manual		  ZFS-DESTROY(8)

NAME
     zfs-destroy -- destroy ZFS dataset, snapshots, or bookmark

SYNOPSIS
     zfs destroy [-Rfnprv] filesystem|volume
     zfs destroy [-Rdnprv] filesystem|volume@snap[%snap[,snap[%snap]]]a|
     zfs destroy filesystem|volume#bookmark

DESCRIPTION
     zfs destroy [-Rfnprv] filesystem|volume
       Destroys  the  given  dataset.  By default, the command unshares any file
       systems that are currently shared, unmounts any	file  systems  that  are
       currently  mounted,  and refuses to destroy a dataset that has active de-
       pendents (children or clones).

       -R  Recursively destroy all dependents,	including  cloned  file  systems
	   outside the target hierarchy.

       -f  Forcibly unmount file systems.  This option has no effect on non-file
	   systems or unmounted file systems.

       -n  Do  a  dry-run ("No-op") deletion.  No data will be deleted.  This is
	   useful in conjunction with the -v or -p flags to determine what  data
	   would be deleted.

       -p  Print machine-parsable verbose information about the deleted data.

       -r  Recursively destroy all children.

       -v  Print verbose information about the deleted data.

       Extreme	care  should  be taken when applying either the -r or the -R op-
       tions, as they can destroy large portions of a pool and cause  unexpected
       behavior for mounted file systems in use.

     zfs destroy [-Rdnprv] filesystem|volume@snap[%snap[,snap[%snap]]]a|
       Attempts  to destroy the given snapshot(s).  This will fail if any clones
       of the snapshot exist or if the snapshot is held.  In this case,  by  de-
       fault,  zfs destroy will have no effect and exit in error.  If the -d op-
       tion is applied, the command will instead mark the given snapshot for au-
       tomatic destruction as soon as it becomes eligible.  While marked for de-
       struction, a snapshot remains visible, and the user may create new clones
       from it and place new holds on it.

       The read-only snapshot properties defer_destroy and userrefs are used  by
       zfs destroy to determine eligibility and marked status.

       An  inclusive range of snapshots may be specified by separating the first
       and last snapshots with a percent sign.	The first and/or last  snapshots
       may  be left blank, in which case the filesystem's oldest or newest snap-
       shot will be implied.

       Multiple snapshots (or ranges of snapshots) of  the  same  filesystem  or
       volume may be specified in a comma-separated list of snapshots.	Only the
       snapshot's short name (the part after the @) should be specified when us-
       ing a range or comma-separated list to identify multiple snapshots.

       -R  Recursively	destroy  all  clones  of  these snapshots, including the
	   clones, snapshots, and children.  If this flag is specified,  the  -d
	   flag will have no effect.

       -d  Rather  than  returning error if the given snapshot is ineligible for
	   immediate destruction, mark it for  deferred,  automatic  destruction
	   once it becomes eligible.

       -n  Do  a  dry-run ("No-op") deletion.  No data will be deleted.  This is
	   useful in conjunction with the -p or -v flags to determine what  data
	   would be deleted.

       -p  Print machine-parsable verbose information about the deleted data.

       -r  Destroy  (or mark for deferred deletion) all snapshots with this name
	   in descendent file systems.

       -v  Print verbose information about the deleted data.

       Extreme care should be taken when applying either the -r or  the  -R  op-
       tions,  as they can destroy large portions of a pool and cause unexpected
       behavior for mounted file systems in use.

     zfs destroy filesystem|volume#bookmark
       The given bookmark is destroyed.

EXAMPLES
   Example 1: 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 2: 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 3: 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-create(8), zfs-hold(8), zfsprops(8)

FreeBSD ports 15.1		February 5, 2025		  ZFS-DESTROY(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=zfs-destroy&sektion=8&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help