#!/bin/sh ZROOT_BASE="zroot" SSH="/usr/bin/ssh" ZFS="/sbin/zfs " REMOTE="davidmarec.ddns.net" REMOTE_USER="david" REMOTE_KEY=~david/.ssh/id_ed25519 REMOTE_POOL="dmarec/popeye" failure() { echo ${@} exit 1 } ssh-add ${REMOTE_KEY} || failure 'ssh-agent required.' # getting last snapshot id # if one cannot trust the snap id one can use creation time for i in usr JAILS do ZROOT="${ZROOT_BASE}/${i}" ZLAST=`${ZFS} list -o name -Hp -t snap -d 1 ${ZROOT} | cut -d '@' -f 2 | sort | tail -1` echo '---------------------------------------------------' echo "sending backup ${ZROOT}@${ZLAST} to ${REMOTE_POOL}" echo ${ZFS} send -R -e -L -c ${ZROOT}@${ZLAST} | \ ${SSH} -i ${REMOTE_KEY} ${REMOTE_USER}@${REMOTE} \ ${ZFS} recv -Fdu -o canmount=off -x mountpoint -x logbias -x dedup -x copies ${REMOTE_POOL} echo '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' done