Make ZFS auto-destroy snapshots when the out of space?

Kirk Strauser kirk at strauser.com
Mon May 31 00:40:05 UTC 2010


On May 30, 2010, at 7:34 PM, Christof Schulze wrote:

> still struggling with the attachment remover. So here is the script:
>
> http://paste.pocoo.org/show/220207/


That's pretty similar in concept to the scripts I found and am using,  
but with the difference that those scripts use "zfs snapshot -r" to  
take a recursive, atomic snapshot of all filesystems in the configured  
pools. I wrote a separate script to prune all the unwanted filesystems  
(/tmp, and so on) regularly:

#!/bin/sh

# If there is a global system configuration file, suck it in.
#
if [ -r /etc/defaults/periodic.conf ]
then
     . /etc/defaults/periodic.conf
     source_periodic_confs
fi

filesystems=$hourly_zfs_snapshot_prune_filesystems

case "$hourly_zfs_snapshot_prune_enable" in
     [Yy][Ee][Ss])
         if [ -z "$filesystems" ]; then
             echo "Hourly snapshot pruning is enabled but not  
configured."
             exit 2
         fi
         for filesystem in $filesystems ; do
             zfs list -H -o name -t snapshot | grep -E "^ 
$filesystem@(hourly|daily|weekly|monthly)" | xargs -n1 zfs destroy
         done
         ;;
     *)
         ;;
esac

-- 
Kirk Strauser






More information about the freebsd-stable mailing list