@@ -40,11 +40,14 @@ source "scripts/include/common/duration_readable.sh" || { echo "scripts/include/
4040source " scripts/include/common/load_persistence.sh" || { echo " scripts/include/common/load_persistence.sh not found" ; exit 1; }
4141source " scripts/include/restore/completion_stats.sh" || { echo " scripts/include/restore/completion_stats.sh not found" ; exit 1; }
4242source " scripts/include/restore/process_volume.sh" || { echo " scripts/include/restore/process_volume.sh not found" ; exit 1; }
43+ source " scripts/include/restore/print_estimate.sh" || { echo " scripts/include/restore/print_estimate.sh not found" ; exit 1; }
44+ source " scripts/include/restore/compute_end.sh" || { echo " scripts/include/restore/compute_end.sh not found" ; exit 1; }
4345
4446BCS_TMPFILE=$( mktemp -u /tmp/baccus-XXXXXX)
4547trap Cleanup EXIT
4648
47- source=$( find " $BCS_SOURCE " -name " ${BCS_BASENAME} " .tar* | sort | tail -1)
49+ bcs_source=" $BCS_SOURCE "
50+ source=$( find " $bcs_source " -name " ${BCS_BASENAME} " .tar* | sort | tail -1)
4851
4952if [[ " $source " == * " .gz" * ]]; then
5053 BCS_COMPRESS=" on"
5962# Determine max uncompressed size of individual archive volume
6063ramdisk_size_tmpdir=" $BCS_TMPFILE " .ramdisk_size
6164mkdir " $ramdisk_size_tmpdir "
62- source=" $BCS_SOURCE " /" $BCS_BASENAME " .tar
65+ source=" $bcs_source " /" $BCS_BASENAME " .tar
6366Process_Volume " $BCS_BASENAME " .tar " $ramdisk_size_tmpdir " " $ramdisk_size_tmpdir "
6467BCS_VOLUMESIZE=$dest_actual_size
6568rm -rf " $ramdisk_size_tmpdir "
6669
67- # Determine uncompressed size of last archive volume
68- ramdisk_size_tmpdir=" $BCS_TMPFILE " .ramdisk_size
69- mkdir " $ramdisk_size_tmpdir "
70- source=$( find " $BCS_SOURCE " -name " ${BCS_BASENAME} " .tar* | sort -V | tail -1)
71- source=" ${source// .gpg/ } "
72- source=" ${source// .gz/ } "
73- Process_Volume " $BCS_BASENAME " .tar " $ramdisk_size_tmpdir " " $ramdisk_size_tmpdir "
74- bcs_volumesize_end=$dest_actual_size
75- rm -rf " $ramdisk_size_tmpdir "
76-
7770# Setup ramdisk if needed
7871if [ " $BCS_COMPRESS " == " off" ] && [ -z " $BCS_PASSWORD " ]; then
7972 BCS_TARDIR=" $BCS_DEST "
@@ -95,30 +88,36 @@ elif [ "$BCS_RAMDISK" == "on" ]; then
9588fi
9689
9790# Estimate total restore size and number of archive volumes
98- total_volumes =$( find " $BCS_SOURCE " -name " ${BCS_BASENAME} " .tar* | wc -l)
99- source_size_total=$( du -sk --apparent-size " $BCS_SOURCE " | awk ' {print $1}' )
91+ archive_volumes =$( find " $bcs_source " -name " ${BCS_BASENAME} " .tar* | wc -l)
92+ source_size_total=$( du -sk --apparent-size " $bcs_source " | awk ' {print $1}' )
10093
10194if [ " $BCS_ESTIMATE " == " on" ]; then
102- printf ' \nEstimated number of volumes: %s\n' " $total_volumes "
103- printf " Estimated size of source: %'.0fk\n" " $source_size_total "
104- total_dest_size=$(( (total_volumes * BCS_VOLUMESIZE) + bcs_volumesize_end ))
105- printf " Estimated size of restore: %'.0fk\n" " $total_dest_size "
106- comp_ratio=$(( 100 - ( (source_size_total * 100 ) / total_dest_size) ))
107- printf " Estimated compression ratio: %s%%\n" " $comp_ratio "
95+ Compute_End
96+ Print_Estimate
10897fi
10998printf ' \n'
11099
111100# Process first (possibly only) backup volume
112- echo " $BCS_BASENAME " .tar
101+ archive_max_name=$(( ${# BCS_BASENAME} + ${# archive_volumes} + 5 ))
102+ archive_max_num=$(( ${# archive_volumes} + 1 ))
103+
104+ printf " \
105+ %-${archive_max_name} s \
106+ %${archive_max_num} s \
107+ %4s\n" \
108+ " ${BCS_BASENAME} .tar" \
109+ " /$archive_volumes " \
110+ " $(( 100 / archive_volumes )) %"
111+
113112timestamp=$( date +%s)
114113
115- source=" $BCS_SOURCE " /" $BCS_BASENAME " .tar
114+ source=" $bcs_source " /" $BCS_BASENAME " .tar
116115Process_Volume " $BCS_BASENAME " .tar " $BCS_DECRYPTDIR " " $BCS_COMPRESDIR "
117116
118117# Populate external data structure with starting values
119118export BCS_DATAFILE=" $BCS_TMPFILE " .runtime
120- runtime_data=$( jo bcs_source=" $BCS_SOURCE " \
121- archive_volumes=$total_volumes \
119+ runtime_data=$( jo bcs_source=" $bcs_source " \
120+ archive_volumes=$archive_volumes \
122121 start_timestamp=$timestamp \
123122 start_timestamp_running=0 \
124123 incremental_timestamp=$timestamp \
0 commit comments