Files
backup_script/tools/script/restore3
2021-11-05 22:34:26 +08:00

36 lines
1.0 KiB
Bash

#!/system/bin/sh
MODDIR="${0%/*}"
bin_path="${MODDIR%/*}/tools/bin"
[[ ! -d $bin_path ]] && echo "$bin_path目錄遺失" && exit 1
. "$bin_path/bin.sh"
#記錄開始時間
starttime1="$(date -u "+%s")"
echo_log() {
if [[ $? = 0 ]]; then
echoRgb "$1成功" "1" && result=0
else
echoRgb "$1恢複失敗,過世了" "0" && result=1
fi
}
Release_data() {
tar_path="$1"
FILE_NAME="${tar_path##*/}"
FILE_NAME2="${FILE_NAME%%.*}"
echoRgb "恢復$FILE_NAME2數據" "2" && usertar="1"
case ${FILE_NAME##*.} in
lz4) pv "$1" | tar -I lz4 -xPpf - ; Set_back ;;
zst) pv "$1" | tar -I zstd -xPpf - ;;
tar) pv "$1" | tar -xPpf - ;;
*) (echoRgb "$FILE_NAME 壓縮包不支持解壓縮" "0" ; Set_back)
esac
echo_log "$FILE_NAME 解壓縮($FILE_NAME2)"
}
starttime1="$(date -u "+%s")"
A=1
B="$(find "$MODDIR" -maxdepth 1 -name "*.tar*" -type f | wc -l)"
find "$MODDIR" -maxdepth 1 -name "*.tar*" -type f | while read; do
echoRgb "恢復第$A/$B個壓縮包 剩下$((B-A))"
Release_data "$REPLY"
echoRgb "完成$((A*100/B))%" && let A++
done
endtime 1 "恢複結束"