| 12345678910111213141516171819202122232425262728293031323334 |
- #!/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
|