diff --git a/backup_settings.conf b/backup_settings.conf index f0d2544..86e2a89 100644 --- a/backup_settings.conf +++ b/backup_settings.conf @@ -13,7 +13,7 @@ Splist=0 Backup_user_data=1 #是否備份外部數據 即比如原神的數據包(1備份0不備份) -Backup_obb_data=0 +Backup_obb_data=1 #是否在應用數據備份好後備份自定義目錄 backup_media=0 diff --git a/tools/bin/bin.sh b/tools/bin/bin.sh index 1b54deb..a5cbdf1 100644 --- a/tools/bin/bin.sh +++ b/tools/bin/bin.sh @@ -18,7 +18,7 @@ if [[ -d $(magisk --path 2>/dev/null) ]]; then else echo "Magisk busybox Path does not exist" fi ; export PATH="$PATH" -backup_version="V10.7TEST 2021/10/24-13:07" +backup_version="V10.7 2021/10/25-21:07" #設置二進制命令目錄位置 [[ $bin_path = "" ]] && echo "未正確指定bin.sh位置" && exit 2 bin_path="${bin_path/'/storage/emulated/'/'/data/media/'}" diff --git a/tools/script/Get_DirName b/tools/script/Get_DirName index f9c4fde..a8f2e4c 100644 --- a/tools/script/Get_DirName +++ b/tools/script/Get_DirName @@ -7,6 +7,7 @@ txt="$MODDIR/應用列表.txt" echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安">"$txt" find "$MODDIR" -maxdepth 1 -type d | sort | sed 's/\[/ /g ; s/\]//g' | while read; do if [[ -f $REPLY/app_details ]]; then + unset PackageName . $REPLY/app_details if [[ $PackageName != "" ]]; then echo "${REPLY##*/} $PackageName">>"$txt" diff --git a/tools/script/restore b/tools/script/restore index 9384b0c..b8d1842 100644 --- a/tools/script/restore +++ b/tools/script/restore @@ -27,7 +27,8 @@ Release_data() { FILE_NAME="${tar_path##*/}" FILE_NAME2="${FILE_NAME%%.*}" echoRgb "恢復$FILE_NAME2數據" "2" - if [[ $FILE_NAME2 = user ]]; then + case $FILE_NAME2 in + user) if [[ -d $X ]]; then case ${FILE_NAME##*.} in lz4) pv "$tar_path" | tar --recursive-unlink -I lz4 -xmpf - -C "$path2" ;; @@ -38,14 +39,24 @@ Release_data() { else echoRgb "$X不存在 無法恢復$FILE_NAME2數據" "0" ; Set_back fi - else + ;; + data|obb) case ${FILE_NAME##*.} in lz4) pv "$tar_path" | tar --recursive-unlink -I lz4 -xmPpf - ;; zst) pv "$tar_path" | tar --recursive-unlink -I zstd -xmPpf - ;; tar) pv "$tar_path" | tar --recursive-unlink -xmPpf - ;; *) echoRgb "$FILE_NAME 壓縮包不支持解壓縮" "0" ; Set_back esac - fi + ;; + *) + case ${FILE_NAME##*.} in + lz4) pv "$tar_path" | tar -I lz4 -xPpf - ;; + zst) pv "$tar_path" | tar -I zstd -xPpf - ;; + tar) pv "$tar_path" | tar -xPpf - ;; + *) echoRgb "$FILE_NAME 壓縮包不支持解壓縮" "0" ; Set_back + esac + ;; + esac echo_log "$FILE_NAME 解壓縮($FILE_NAME2)" if [[ $result = 0 ]]; then if [[ $FILE_NAME2 = user ]]; then diff --git a/tools/script/restore3 b/tools/script/restore3 index a025904..66953d8 100644 --- a/tools/script/restore3 +++ b/tools/script/restore3 @@ -18,9 +18,9 @@ Release_data() { FILE_NAME2="${FILE_NAME%%.*}" echoRgb "恢復$FILE_NAME2數據" "2" && usertar="1" case ${FILE_NAME##*.} in - lz4) pv "$1" | tar --recursive-unlink -I lz4 -xmPpf - ; Set_back ;; - zst) pv "$1" | tar --recursive-unlink -I zstd -xmPpf - ;; - tar) pv "$1" | tar --recursive-unlink -xmPpf - ;; + lz4) pv "$1" | tar -I lz4 -xmPpf - ; Set_back ;; + zst) pv "$1" | tar -I zstd -xmPpf - ;; + tar) pv "$1" | tar -xmPpf - ;; *) (echoRgb "$FILE_NAME 壓縮包不支持解壓縮" "0" ; Set_back) esac echo_log "$FILE_NAME 解壓縮($FILE_NAME2)" diff --git a/備份應用.sh b/備份應用.sh index 21717a9..02f14f2 100644 --- a/備份應用.sh +++ b/備份應用.sh @@ -56,8 +56,8 @@ r="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')" [[ $r = "" ]] && echoRgb "爬..應用列表.txt是空的或是包名被注釋了這樣備份個鬼" "0" && exit 1 data=/data hx="本地" -echoRgb "-壓縮方式:$Compression_method" -echoRgb "-提示 腳本支持後台壓縮 可以直接離開腳本\n -或是關閉終端也能備份 如需終止腳本\n -請再次執行$script即可停止\n -備份結束將發送toast提示語" "2" +echoRgb "壓縮方式:$Compression_method" +echoRgb "提示 腳本支持後台壓縮 可以直接離開腳本\n -或是關閉終端也能備份 如需終止腳本\n -請再次執行$script即可停止\n -備份結束將發送toast提示語" "2" if [[ $PU != "" ]]; then [[ -f /proc/mounts ]] && PT="$(cat /proc/mounts | grep "$PU" | awk '{print $2}')" if [[ -d $PT ]]; then diff --git a/生成應用列表.sh b/生成應用列表.sh index 984afcb..9c56cb1 100644 --- a/生成應用列表.sh +++ b/生成應用列表.sh @@ -28,12 +28,12 @@ i=1 bn=118 rm -rf "$MODDIR/tmp" starttime1="$(date -u "+%s")" -appinfo -d " " -o ands,pn -pn $system $launcher_app -3 2>/dev/null | sort | sed 's/\///g ; s/\://g ; s/(//g ; s/)//g ; s/\[//g ; s/\]//g ; s/\-//g' | while read name; do +appinfo -d " " -o ands,pn -pn $system $launcher_app -3 2>/dev/null | sort | sed 's/\///g ; s/\://g ; s/(//g ; s/)//g ; s/\[//g ; s/\]//g ; s/\-//g' | egrep -v 'ice.message|oneplus|miui|xiaomi|oppo|flyme' | while read; do [[ $bn -ge 229 ]] && bn=118 - app_1=($name $name) + app_1=($REPLY $REPLY) if [[ $(cat "$nametxt" | grep -oE "${app_1[1]}$") = "" ]]; then - echo "$name" >>"$nametxt" && xz=1 && [[ ! -e $MODDIR/tmp ]] && touch "$MODDIR/tmp" - echoRgb "$i.$name" + echo "$REPLY" >>"$nametxt" && xz=1 && [[ ! -e $MODDIR/tmp ]] && touch "$MODDIR/tmp" + echoRgb "$i.$REPLY" else unset xz fi