diff --git a/tools/bin/bin.sh b/tools/bin/bin.sh index 5ccae4d..b689908 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="V11.4 2021/11/8-22:30" +backup_version="V11.5 2021/11/15-23:30" #設置二進制命令目錄位置 [[ $bin_path = "" ]] && echo "未正確指定bin.sh位置" && exit 2 #bin_path="${bin_path/'/storage/emulated/'/'/data/media/'}" diff --git a/tools/bin/zip b/tools/bin/zip new file mode 100644 index 0000000..05407ae Binary files /dev/null and b/tools/bin/zip differ diff --git a/tools/script/restore b/tools/script/restore index 95d05a4..7fa83ff 100644 --- a/tools/script/restore +++ b/tools/script/restore @@ -63,33 +63,33 @@ Release_data() { [[ -f $app_details ]] && echoRgb "解壓路徑:$(cat "$app_details" | awk "/${FILE_NAME2}path/"'{print $1}' | cut -f2 -d '=' | tail -n1 | sed 's/\"//g')" || echoRgb "已經成功解壓縮 但是解壓路徑獲取失敗" "0" fi [[ $datapath != "" ]] && echoRgb "解壓縮路徑:$datapath" - if [[ $FILE_NAME2 = user ]]; then + case $FILE_NAME2 in + user) if [[ -d $X ]]; then - if [[ -f /config/sdcardfs/$name2/appid ]]; then - G="$(cat "/config/sdcardfs/$name2/appid")" + if [[ -f /config/sdcardfs/$name/appid ]]; then + G="$(cat "/config/sdcardfs/$name/appid")" else - G="$(dumpsys package "$name2" | awk '/userId=/{print $1}' | cut -f2 -d '=' | head -1)" + G="$(dumpsys package "$name" | awk '/userId=/{print $1}' | cut -f2 -d '=' | head -1)" fi ; G="$(echo "$G" | grep -Eo '[0-9]+')" if [[ $G != "" ]]; then echoRgb "路徑:$X" Path_details="$(stat -c "%A/%a %U/%G" "$X")" - chown -hR "$G:$G" "$X" + chown -hR "$G:$G" "$X/" echo_log "設置用戶組:$(echo "$Path_details" | awk '{print $2}')" restorecon -RF "$X/" >/dev/null 2>&1 echo_log "selinux上下文設置" - #echoRgb "$(stat -c "%n %A/%a %U/%G" "$X" | awk '{print "路徑:"$1"\n 權限:"$2"\n 用戶組:"$3}')" else echoRgb "uid獲取失敗" "0" fi else echoRgb "路徑$X不存在" "0" - fi - elif [[ $FILE_NAME2 = data ]]; then - [[ -d $path/data/$name2 ]] && chown -R "1023:1023" "$path/data/$name2" - elif [[ $FILE_NAME2 = thanox ]]; then + fi ;; + data|obb) + [[ -d $path/$FILE_NAME2/$name2 ]] && chmod -R 0777 "$path/$FILE_NAME2/$name2" ;; + thanox) restorecon -RF "$(find "/data/system" -name "thanos*" -maxdepth 1 -type d)/" >/dev/null 2>&1 - echo_log "selinux上下文設置" && echoRgb "警告 thanox配置恢復後務必重啟\n -否則不生效" "0" - fi + echo_log "selinux上下文設置" && echoRgb "警告 thanox配置恢復後務必重啟\n -否則不生效" "0" ;; + esac fi } #開始循環$txt內的資料進行恢複 diff --git a/tools/script/restore2 b/tools/script/restore2 index d78c0da..368ed56 100644 --- a/tools/script/restore2 +++ b/tools/script/restore2 @@ -100,7 +100,8 @@ if [[ $Recovery_mode = true ]]; then fi echo_log "$FILE_NAME 解壓縮($FILE_NAME2)" if [[ $result = 0 ]]; then - if [[ $FILE_NAME2 = user ]]; then + case $FILE_NAME2 in + user) if [[ -d $X ]]; then if [[ -f /config/sdcardfs/$name/appid ]]; then G="$(cat "/config/sdcardfs/$name/appid")" @@ -110,7 +111,7 @@ if [[ $Recovery_mode = true ]]; then if [[ $G != "" ]]; then echoRgb "路徑:$X" Path_details="$(stat -c "%A/%a %U/%G" "$X")" - chown -hR "$G:$G" "$X" + chown -hR "$G:$G" "$X/" echo_log "設置用戶組:$(echo "$Path_details" | awk '{print $2}')" restorecon -RF "$X/" >/dev/null 2>&1 echo_log "selinux上下文設置" @@ -119,13 +120,13 @@ if [[ $Recovery_mode = true ]]; then fi else echoRgb "路徑$X不存在" "0" - fi - elif [[ $FILE_NAME2 = data ]]; then - [[ -d $path/data/$name2 ]] && chown -R "1023:1023" "$path/data/$name2" - elif [[ $FILE_NAME2 = thanox ]]; then - restorecon -R "$(find "/data/system" -name "thanos*" -maxdepth 1 -type d)/" >/dev/null 2>&1 - echo_log "selinux上下文設置" && echoRgb "警告 thanox配置恢復後務必重啟\n -否則不生效" "0" - fi + fi ;; + data|obb) + [[ -d $path/$FILE_NAME2/$name2 ]] && chmod -R 0777 "$path/$FILE_NAME2/$name2" ;; + thanox) + restorecon -RF "$(find "/data/system" -name "thanos*" -maxdepth 1 -type d)/" >/dev/null 2>&1 + echo_log "selinux上下文設置" && echoRgb "警告 thanox配置恢復後務必重啟\n -否則不生效" "0" ;; + esac fi done else diff --git a/備份應用.sh b/備份應用.sh index fbef527..266666f 100644 --- a/備份應用.sh +++ b/備份應用.sh @@ -186,7 +186,11 @@ Backup_data() { echoRgb "$1數據無發生變化 跳過備份" fi else - echoRgb "$1數據不存在跳過備份" + if [[ -f $data_path ]]; then + echoRgb "$1是一個文件 不支持備份" "0" + else + echoRgb "$1數據不存在跳過備份" + fi fi } [[ $Lo = true ]] && {