--- /dev/null
+#!/bin/sh -x
+
+from=10.60.0.90
+
+fs=`ssh $from zfs list -t snapshot | grep @ | iselect -t "select snapshot to pull" -a | sed 's/ .*$//'`
+
+if [ -z "$fs" ] ; then
+ exit;
+fi
+
+veid=`echo $fs | cut -d/ -f3 | cut -d@ -f1`
+date=`echo $fs | cut -d/ -f3 | cut -d@ -f2`
+pool=`echo $fs | cut -d/ -f1`
+
+echo "pull $pool / $veid @ $date"
+
+local=`zfs list | grep $veid | cut -d" " -f1`
+
+if [ -z "$local" ] ; then
+ local_pool=`zfs list | grep /backup/ | head -1 | cut -d/ -f1`
+ local="$local_pool/backup/$veid"
+ zfs create $local || exit
+fi
+
+echo "clone $fs -- $veid to $local";
+
+ssh $from "zfs send $fs | nc -w 5 -l -p 8888" &
+sleep 1
+
+nc $from 8888 | dd_rescue -w -y 0 -l /tmp/$veid@$data.log - - | zfs receive -F $local && zfs snapshot $local@$date
+
+zfs list -t snapshot | grep $veid