- use shells/fish
pkg install -yr FreeBSD mosh hpenc tmux htop rsync mbuffer
# destination
# hpenc psk
Random key: h7gp...
# set PSK=h7gp...
# mbuffer -4 -s 128k -m 1G -I 9000 \
| hpenc -d -b 16M -k $PSK \
| zfs recv -Fuvs zroot
# source
# zfs snapshot -r zroot@migrate
# zfs send -LevcpDR zroot@migrate \
| hpenc -b 16M -k $PSK \
| mbuffer -4 -s 128k -m 1G -O 123.45.67.89:9000
NB this is a bit messy if you have a failure during a -R as you need to clean up the descendant filesystems manually. Too messy for my liking.
while true
mbuffer -4 -s 128k -m 1G -I 9000 \
| zfs recv -Fuvs zroot/shared/got
end
while true
sudo zfs send -LevcpDR zroot@snap \
(ssh -p 2200 root@10.144.157.90 zfs get -Hpo value receive_resume_token zroot/shared/got) \
| mbuffer -4 -s 128k -m 1G -O 10.144.157.90:9000
end
next time remember to use
security/hpenc
as well and the new "keep it compressed in transit" flags