bugfix: расчёт финального времени и косметические правки
This commit is contained in:
parent
ab244ea756
commit
130fd5a9f4
@ -98,7 +98,9 @@ else # Если не инкрементная копия, то запросит
|
||||
0) exit;;
|
||||
-) ;;
|
||||
*) if (( $bak_ds_indx >= 1 )) && (( $bak_ds_indx <= ${#backup_datasets} )); then
|
||||
work_datasets[$local_datasets[$i]]=$backup_datasets[bak_ds_indx]
|
||||
loc_name_ds=$(sed -r "s/(.*)\/(.*)/\2/" <<<"$local_datasets[$i]") # Определить нижний по иерархии
|
||||
bak_ds="$bak_ds/$loc_name_ds" # Добавить имя создаваемого датасета
|
||||
work_datasets[$local_datasets[$i]]=$bak_ds
|
||||
else; exit 1; fi ;;
|
||||
esac
|
||||
done
|
||||
@ -165,7 +167,7 @@ if [[ $incremental = true ]]; then
|
||||
else
|
||||
i=0; for loc_ds bak_ds in ${(kv)work_datasets}; do
|
||||
(( i++ ))
|
||||
printf $column_widths $i $loc_ds "$inc_snapshot (*)" $bak_ds
|
||||
printf $column_widths $i $loc_ds "$inc_snapshot (*)" "$bak_ds (*)"
|
||||
done
|
||||
fi
|
||||
|
||||
@ -224,9 +226,7 @@ if [[ $work = "y" || $work = "Y" ]]; then
|
||||
echo " * Start sending ${loc_ds} at $(date +'%Y.%m.%d %H:%M.%S')"
|
||||
case $incremental in
|
||||
true) zfs send -V -i ${loc_ds}@${last_loc_snaps[$loc_ds]} ${loc_ds}@${inc_snapshot} | ssh "$backup_user@${backup_server}" zfs receive ${bak_ds}@${inc_snapshot} ;;
|
||||
false) loc_name_ds=(${(@s:/:)loc_ds}); loc_name_ds=$loc_name_ds[-1] # Получить имя датасета без пути
|
||||
bak_ds="$bak_ds/$loc_name_ds"
|
||||
zfs send -V ${loc_ds}@${inc_snapshot} | ssh "$backup_user@${backup_server}" zfs receive ${bak_ds} ;;
|
||||
false) zfs send -V ${loc_ds}@${inc_snapshot} | ssh "$backup_user@${backup_server}" zfs receive ${bak_ds} ;;
|
||||
esac
|
||||
TS2=$(date +%s)
|
||||
(( i_task++ ))
|
||||
@ -254,7 +254,7 @@ if [[ $work = "y" || $work = "Y" ]]; then
|
||||
time_part_of_percent=$(( now - time_changed_percent_value )) # Время с последнего изменения процента
|
||||
estimated_total=$(( 100 / percent * elapsed )) # Всего времени на задачу
|
||||
estimated_remain=$(( estimated_total - elapsed - time_part_of_percent )) # Осталось времени на задачу
|
||||
if (( estimated_remain >= 86400 )) || (( estimated_total >= 86400 )); then
|
||||
if (( estimated_remain >= 86400 )) || (( estimated_total >= 86400 )); then # Если осталось более чем сутки, то отобразить дни
|
||||
estimated_remain_days=$(( estimated_remain / 86400 )); estimated_remain_time=$(( estimated_remain % 86400 ))
|
||||
estimated_total_days=$(( estimated_total / 86400 )); estimated_total_time=$(( estimated_total % 86400 ))
|
||||
echo -n "\033[2K\r$progress $estimated_remain_days д. $(date -d@$estimated_remain_time -u '+%H:%M.%S') ост. / $estimated_total_days д. $(date -d@$estimated_total_time -u '+%H:%M.%S') "
|
||||
@ -274,7 +274,7 @@ if [[ $work = "y" || $work = "Y" ]]; then
|
||||
rm /dev/shm/backup_time_stamp
|
||||
|
||||
exec >&1 >>$LOGFILE 2>&1 # Вывод на экран и в файл
|
||||
echo "\n--- Все завершено за $(date -d@$(($TS2-$TS0)) -u '+%H:%M.%S') ---"
|
||||
echo "\n--- Все завершено за $(date -d@$(( $(date +%s) - $TS0 )) -u '+%H:%M.%S') ---"
|
||||
|
||||
exec 1>&6 6>&- # Restore stdout and close file descriptor #6.
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user