chore: 优化显示
这个提交包含在:
@@ -308,17 +308,18 @@ create_archive() {
|
|||||||
tar -czf "$archive" "${paths[@]}" 2>"$tar_log" &
|
tar -czf "$archive" "${paths[@]}" 2>"$tar_log" &
|
||||||
local tar_pid=$!
|
local tar_pid=$!
|
||||||
|
|
||||||
local start_ts=$(date +%s) cur_kb pct elapsed
|
local start_ts=$(date +%s) cur_kb elapsed
|
||||||
while kill -0 "$tar_pid" 2>/dev/null; do
|
while kill -0 "$tar_pid" 2>/dev/null; do
|
||||||
sleep 5
|
sleep 5
|
||||||
kill -0 "$tar_pid" 2>/dev/null || break
|
kill -0 "$tar_pid" 2>/dev/null || break
|
||||||
cur_kb="$(du -k "$archive" 2>/dev/null | awk '{print $1+0}')"
|
cur_kb="$(du -k "$archive" 2>/dev/null | awk '{print $1+0}')"
|
||||||
elapsed=$(( $(date +%s) - start_ts ))
|
elapsed=$(( $(date +%s) - start_ts ))
|
||||||
|
# 注意:cur_kb 是压缩后归档大小,src_kb 是未压缩的源大小,
|
||||||
|
# 二者不在同一量纲,故不显示百分比,只展示两个数字作为参考。
|
||||||
if [[ "$src_kb" -gt 0 ]]; then
|
if [[ "$src_kb" -gt 0 ]]; then
|
||||||
pct=$(awk -v c="$cur_kb" -v s="$src_kb" 'BEGIN{p=c*100/s; if(p>99)p=99; printf "%.0f", p}')
|
log "打包进度:已写入 $(awk -v k="$cur_kb" 'BEGIN{printf "%.2fG", k/1024/1024}')(压缩后)/ 源约 $(awk -v k="$src_kb" 'BEGIN{printf "%.2fG", k/1024/1024}'),耗时 ${elapsed}s"
|
||||||
log "打包进度:已写入 $(awk -v k="$cur_kb" 'BEGIN{printf "%.2fG", k/1024/1024}') / $(awk -v k="$src_kb" 'BEGIN{printf "%.2fG", k/1024/1024}') (${pct}%),耗时 ${elapsed}s"
|
|
||||||
else
|
else
|
||||||
log "打包进度:已写入 $(awk -v k="$cur_kb" 'BEGIN{printf "%.2fG", k/1024/1024}'),耗时 ${elapsed}s"
|
log "打包进度:已写入 $(awk -v k="$cur_kb" 'BEGIN{printf "%.2fG", k/1024/1024}'),耗时 ${elapsed}s"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
在新工单中引用
屏蔽一个用户