On 20/03/2014 04:02, Harry Putnam wrote:
Probably some obvious thing going on here but I'm not see how find all
'.zfs' directories under a zfs system hierarchy.

Just running something like

   cd /rmh/   (that is 'p2/rmh' in zpool talk)

   find . -type d -name 'snapshot'

No hits whatsoever, when I know there are 4-5 under there.

I wanted to setup some homeboy snapshot destroys on the basis of mving
to all .zfs/snapshot directories and using ls -t, sed, zfs snapshot destroy to
get rid of snaps beyond the most recent 8 in the directory

So is something like 'zfs -H -t snapshot -o name' the only way to
ferret out actual addresses of the snaps?

I'd sooner use basic oldschool unix tools if possible


Our rolling snapshot script to be used in a cron,
adapt to your needs:

# ## usage 'roll_snapshot filesystem 8'
# cat roll_snapshot
#!/sbin/sh
root=`/sbin/mount | grep '^/ '|nawk '{print $3;}'`
fsys="$root"
if [ -n "$1" ] ; then
   fsys=$1
fi
roll=3
if [ -n "$2" ] ; then
   if (echo $2|grep '^[0-9]*$'>/dev/null); then
      roll=$2
   else
      echo "$2 is not a number."
      exit 1
   fi
fi
if (zfs list $fsys >/dev/null) ; then
oldest=`zfs list -t snapshot| cut -d' ' -f1 | grep $fsys'@[0-9]\{4,4\}-[0-1][0-9]-[0-3][0-9]_[0-2][0-9]:[0-5][0-9]:[0-6][0-9]'|sort -r|tail +$roll`
   if [ -n "$oldest" ] ; then
       for z in $oldest; do zfs destroy $z ;done
   fi
   zfs snapshot $fsys@`date '+%F_%T`
else
   echo "$fsys is not a ZFS filesystem, cannot snapshot."
   exit 1
fi



_______________________________________________
OpenIndiana-discuss mailing list
[email protected]
http://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to