#!/bin/sh SNAPDATE=`date "+%y%m%d"` ZROOT="zroot" ZFS="/sbin/zfs " # Seven day ago # ------------- SEVEND=`date -j -v"-7d" +"%s"` for z in VAR ROOT DATA LOCAL HOME JAILS do echo "Creating snapshot tree at "${ZROOT}"@"${SNAPDATE} ${ZFS} snap -r ${ZROOT}/${z}@${SNAPDATE} if [ ${?} -ne 0 ]; then echo "unable to create a snapshot for ${ZROOT} at ${SNAPDATE}." fi echo "Cleaning " ${ZROOT}/${z} "snapshots." for i in `${ZFS} list -d 1 -H -t snap -o name -r ${ZROOT}/${z}` do SNAPCREATED=`${ZFS} list -Hp -t snap -o creation ${i}` if [ ${?} -eq 0 ] then di=`expr ${SNAPCREATED} - ${SEVEND}` if [ ${di} -lt 0 ] then echo "removing " ${i} ${ZFS} destroy -r ${i} fi fi done done