


#!/bin/sh
 
pool="xx"
destination="xx"
destination2="xx"
destination3="xx"
destination4="xx"

host="192.168.1.xx"
host2="192.168.1.xx"
#host3="192.168.1.xx"
# host4="xx.xx.xx.xx"

 
today=`date +"$type-%Y-%m-%d"`
yesterday=`/usr/gnu/bin/date -d"yesterday" +"$type-%Y-%m-%d"`
 
# create today snapshot
snapshot_today="$pool@$today"
# look for a snapshot with this name
if zfs list -H -o name -t snapshot | sort | grep "$snapshot_today$" > /dev/null; then
echo " snapshot, $snapshot_today, already exists"
exit 1
else
echo " taking todays snapshot, $snapshot_today"
zfs snapshot -r $snapshot_today
fi
 
# look for yesterday snapshot
snapshot_yesterday="$pool@$yesterday"
if zfs list -H -o name -t snapshot | sort | grep "$snapshot_yesterday$" > /dev/null; then
echo " yesterday snapshot, $snapshot_yesterday, exists lets proceed with backup"
 
zfs send -R -i $snapshot_yesterday $snapshot_today | ssh root@$host zfs receive -Fduv $destination

zfs send -R -i $snapshot_yesterday $snapshot_today | ssh root@$host2 zfs receive -Fduv $destination2

zfs send -R -i $snapshot_yesterday $snapshot_today | zfs receive -Fduv $destination3
 
zfs send -R -i $snapshot_yesterday $snapshot_today | zfs receive -Fduv $destination4

echo " backup complete destroying yesterday snapshot"
#  zfs destroy -r $snapshot_yesterday
exit 0
else
echo " missing yesterday snapshot aborting, $snapshot_yesterday"
exit 1
fi
