Added bandwidth speed option.

This commit is contained in:
Otho 2023-01-16 19:25:20 -05:00
parent 1397c9c127
commit cb2303dc62
Signed by: Otho
GPG Key ID: 16C720CD3BBE21D9

View File

@ -21,7 +21,7 @@ ZFS_SEND_OPTS="-pRLe"
ZFS_SNAPSHOT_OPTS="-r" ZFS_SNAPSHOT_OPTS="-r"
ZFS_RECV_OPTS="-vsu" ZFS_RECV_OPTS="-vsu"
SSH_SEND_OPTS="-Ti ~/.ssh/id_rsa" SSH_SEND_OPTS="-Ti ~/.ssh/id_rsa"
BANDWIDTH_LIMIT="100M" DEF_SPEED="20M"
read LOCAL_HOST LOCAL_USER LOCAL_PORT LOCAL_TZ SEND_COMPRESSED < $nodes_file read LOCAL_HOST LOCAL_USER LOCAL_PORT LOCAL_TZ SEND_COMPRESSED < $nodes_file
case $SEND_COMPRESSED in case $SEND_COMPRESSED in
@ -66,7 +66,7 @@ list_datasets()
} }
list_remote_datasets() { list_remote_datasets() {
while read addr user ssh_port zroot; do while read addr user ssh_port zroot speed; do
echo "=== $user@$addr $zroot ===" echo "=== $user@$addr $zroot ==="
if [ $zroot ]; then if [ $zroot ]; then
case $zroot in case $zroot in
@ -122,7 +122,7 @@ zfs_allow_origin()
zfs_allow_mirrors() zfs_allow_mirrors()
{ {
while read addr user ssh_port zroot; do while read addr user ssh_port zroot speed; do
echo "=== $user@$addr $zroot ===" echo "=== $user@$addr $zroot ==="
if [ $zroot ]; then if [ $zroot ]; then
case $zroot in case $zroot in
@ -160,7 +160,7 @@ create_snapshots()
send_latest() send_latest()
{ {
while read addr user ssh_port zroot; do while read addr user ssh_port zroot speed; do
echo "=== $user@$addr $zroot ===" echo "=== $user@$addr $zroot ==="
if [ $zroot ]; then if [ $zroot ]; then
case $zroot in case $zroot in
@ -174,12 +174,12 @@ send_latest()
origin_snapshot=`get_latest_snapshot $dataset` origin_snapshot=`get_latest_snapshot $dataset`
if [ $BG_TEST_MODE = "TRUE" ]; then if [ $BG_TEST_MODE = "TRUE" ]; then
echo zfs send $ZFS_SEND_OPTS $dataset@$origin_snapshot \| \ echo zfs send $ZFS_SEND_OPTS $dataset@$origin_snapshot \| \
pv -qL $BANDWIDTH_LIMIT \| \ pv -qL ${speed:-$DEF_SPEED} \| \
ssh $SSH_SEND_OPTS -o port=$ssh_port $user@$addr \ ssh $SSH_SEND_OPTS -o port=$ssh_port $user@$addr \
zfs recv $ZFS_RECV_OPTS $zroot$remote_dataset zfs recv $ZFS_RECV_OPTS $zroot$remote_dataset
else else
zfs send $ZFS_SEND_OPTS $dataset@$origin_snapshot | zfs send $ZFS_SEND_OPTS $dataset@$origin_snapshot |
pv -qL $BANDWIDTH_LIMIT | pv -qL ${speed:-$DEF_SPEED} |
ssh $SSH_SEND_OPTS -o port=$ssh_port \ ssh $SSH_SEND_OPTS -o port=$ssh_port \
$user@$addr \ $user@$addr \
zfs recv $ZFS_RECV_OPTS $zroot$remote_dataset zfs recv $ZFS_RECV_OPTS $zroot$remote_dataset
@ -190,7 +190,7 @@ send_latest()
send_increment() send_increment()
{ {
while read addr user ssh_port zroot; do while read addr user ssh_port zroot speed; do
echo "=== $user@$addr $zroot ===" echo "=== $user@$addr $zroot ==="
if [ $zroot ]; then if [ $zroot ]; then
case $zroot in case $zroot in
@ -207,14 +207,14 @@ send_increment()
echo zfs send $ZFS_SEND_OPTS \ echo zfs send $ZFS_SEND_OPTS \
-i $dataset@$remote_snapshot \ -i $dataset@$remote_snapshot \
$dataset@$origin_snapshot \| \ $dataset@$origin_snapshot \| \
pv -qL $BANDWIDTH_LIMIT \| \ pv -qL ${speed:-$DEF_SPEED} \| \
ssh $SSH_SEND_OPTS -o port=$ssh_port $user@$addr \ ssh $SSH_SEND_OPTS -o port=$ssh_port $user@$addr \
zfs recv $ZFS_RECV_OPTS $zroot$remote_dataset zfs recv $ZFS_RECV_OPTS $zroot$remote_dataset
else else
zfs send $ZFS_SEND_OPTS \ zfs send $ZFS_SEND_OPTS \
-i $dataset@$remote_snapshot \ -i $dataset@$remote_snapshot \
$dataset@$origin_snapshot | $dataset@$origin_snapshot |
pv -qL $BANDWIDTH_LIMIT | pv -qL ${speed:-$DEF_SPEED} |
ssh $SSH_SEND_OPTS -o port=$ssh_port $user@$addr \ ssh $SSH_SEND_OPTS -o port=$ssh_port $user@$addr \
zfs recv $ZFS_RECV_OPTS $zroot$remote_dataset zfs recv $ZFS_RECV_OPTS $zroot$remote_dataset
fi fi