remote=$1
remote_fs=$2
+# change to match the name of the local backup pool
+local_pool=backups
+
# The ssh connection doesn't find zfs without this.
zfs=/usr/sbin/zfs
# List the snapshots on the local machine.
local_list=$(mktemp /tmp/replicate.XXXXXX)
$zfs list -H -t snapshot |
- grep ^backups/${remote_fs}@ |
- awk '{gsub(/^backups./,"",$1); print$1}' > $local_list
+ grep ^${local_pool}/${remote_fs}@ |
+ awk '{gsub(/^${local_pool}./,"",$1); print$1}' > $local_list
# See what the most recent snapshot on the remote end is.
latest=$(tail -n 1 $remote_list)
common=$(diff -u $remote_list $local_list | grep '^ ' | tail -n 1)
ssh $remote $zfs send -R -I${common/*@/@} $latest |
- $zfs receive -vF -d backups/${remote_fs%/*}
+ $zfs receive -vF -d ${local_pool}/${remote_fs%/*}
rm -f $local_list $remote_list