dsnap-sync: correction for tranfer_size calculation
* adapt btrfs output to be compatible with pv requested format convert MiB or GiB to M or G Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
@@ -217,17 +217,17 @@ check_transfer_size () {
|
|||||||
else
|
else
|
||||||
if [ ${#clone_snapshot} -gt 0 ]; then
|
if [ ${#clone_snapshot} -gt 0 ]; then
|
||||||
# WIP: dry run with btrfs send
|
# WIP: dry run with btrfs send
|
||||||
exec 5>&1
|
# need to substitue btrfs 'x.yyGiB' suffix, since pv will need 'xG'
|
||||||
transfer_size=$(btrfs send -v -p $clone_snapshot $source_snapshot \
|
transfer_size=$(btrfs send -v -p $clone_snapshot $source_snapshot 2>$BTRFS_PIPE \
|
||||||
| pv -f 2>&1 > /dev/null | tee >(cat - >&5) \
|
| pv -f 2>&1 >/dev/null \
|
||||||
| awk -F ' ' '{print $1}' )
|
| awk -F ' ' '{ gsub(/.[0-9][0-9]MiB/,"M"); gsub(/.[0-9][0-9]GiB/,"G"); print $1 }' )
|
||||||
else
|
else
|
||||||
# filesystem size
|
# filesystem size
|
||||||
transfer_size=$(du --one-file-system --summarize $snapper_source_snapshot 2>/dev/null \
|
transfer_size=$(du --one-file-system --summarize $snapper_source_snapshot 2>/dev/null \
|
||||||
| awk -F ' ' '{print $1}')
|
| awk -F ' ' '{print $1}')
|
||||||
fi
|
if [ $transfer_size -ge 1048576 ]; then
|
||||||
if [ $transfer_size -ge 1048576 ]; then
|
transfer_size=$(($transfer_size / 1024 / 1024))G
|
||||||
transfer_size=$(($transfer_size / 1024 / 1024))G
|
fi
|
||||||
fi
|
fi
|
||||||
if [ $verbose -ge 2 ]; then
|
if [ $verbose -ge 2 ]; then
|
||||||
printf "${MAGENTA}BTRFS transfer size for ${GREEN}source snapshot${MAGENTA}: size=${GREEN}'%s'${NO_COLOR} ...\n" \
|
printf "${MAGENTA}BTRFS transfer size for ${GREEN}source snapshot${MAGENTA}: size=${GREEN}'%s'${NO_COLOR} ...\n" \
|
||||||
@@ -1855,7 +1855,7 @@ run_backup () {
|
|||||||
ret=$(eval $cmd)
|
ret=$(eval $cmd)
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
# get size of stream that needs to be transfered
|
# get size of stream that needs to be transfered
|
||||||
check_transfer_size "source_snapshot=$snapper_source_snapshot" "clone_snapshot=snapper_common_sync_snapshot"
|
check_transfer_size "source_snapshot=$snapper_source_snapshot" "clone_snapshot=$snapper_common_sync_snapshot"
|
||||||
create_pv_cmd
|
create_pv_cmd
|
||||||
|
|
||||||
case $selected_fstype in
|
case $selected_fstype in
|
||||||
|
|||||||
Reference in New Issue
Block a user