This commit is contained in:
YAWAsau
2021-11-02 23:06:49 +08:00
parent c3b67f3e89
commit 3cebbc6017
6 changed files with 32 additions and 47 deletions

Binary file not shown.

View File

@@ -86,7 +86,7 @@ if [[ $(which busybox) = "" ]]; then
echo "環境變量中沒有找到busybox 請在tools/bin內添加一個\narm64可用的busybox\n或是安裝搞機助手 scene或是Magisk busybox模塊...."
exit 1
fi
Open_apps="$(dumpsys window | grep -w mCurrentFocus | egrep -oh "[^ ]*/[^//}]+" | cut -f 1 -d "/")"
Open_apps="$(appinfo -ta pn)"
#下列為自定義函數
Set_back() {
return 1
@@ -101,8 +101,9 @@ endtime() {
duration="$(echo $((endtime - starttime)) | awk '{t=split("60 秒 60 分 24 時 999 天",a);for(n=1;n<t;n+=2){if($1==0)break;s=$1%a[n]a[n+1]s;$1=int($1/a[n])}print s}')"
[[ $duration != "" ]] && echoRgb "$2用時:$duration" || echoRgb "$2用時:0秒"
}
nskg=1
Print() {
notify "1" "backup-$(date '+%T')" "$1" bs
notify "$nskg" "backup-$(date '+%T')" "$1" bs
}
echoRgb() {
#轉換echo顏色提高可讀性
@@ -149,6 +150,13 @@ isBoolean() {
echoRgb "$MODDIR/backup_settings.conf $1填寫錯誤" "0" && exit 2
fi
}
echo_log() {
if [[ $? = 0 ]]; then
echoRgb "$1成功" "1" ; result=0
else
echoRgb "$1失敗,過世了" "0" ; Print "$1失敗,過世了" ; result=1
fi
}
bn=147
echoRgb "\n --------------歡迎使用⚡️🤟🐂纸備份--------------\n -當前腳本執行路徑:$MODDIR\n -busybox路徑:$(which busybox)\n -busybox版本:$(busybox | head -1 | awk '{print $2}')\n -appinfo版本:$(appinfo --version)\n -腳本版本:$backup_version\n -設備架構$abi\n -品牌:$(getprop ro.product.brand)\n -設備代號:$(getprop ro.product.device)\n -型號:$(getprop ro.product.model)\n -Android版本:$(getprop ro.build.version.release)\n -SDK:$(getprop ro.build.version.sdk)\n -終端:$(appinfo -o ands -pn "$Open_apps" 2>/dev/null)"
bn=195

View File

@@ -18,13 +18,6 @@ txt="$MODDIR/應用列表.txt"
r="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')"
[[ $r = "" ]] && echoRgb "應用列表.txt包名為空或是被注釋了" "0" && exit 1
#顯示執行結果
echo_log() {
if [[ $? = 0 ]]; then
echoRgb "$1成功" "1" && result=0
else
echoRgb "$1失敗過世了" "0" && result=1 && let ERROR++
fi
}
Release_data() {
tar_path="$1"
X="$path2/$name2"
@@ -53,6 +46,7 @@ Release_data() {
esac
;;
*)
[[ $FILE_NAME2 = thanox ]] && rm -rf "$(find "/data/system" -name "thanos_*" -maxdepth 1 -type d)"
case ${FILE_NAME##*.} in
lz4) pv "$tar_path" | tar -I lz4 -xPpf - ;;
zst) pv "$tar_path" | tar -I zstd -xPpf - ;;
@@ -85,7 +79,10 @@ Release_data() {
echoRgb "路徑$X不存在" "0"
fi
elif [[ $FILE_NAME2 = data ]]; then
chown -R "1023:1078" "$path/data/$name2"
[[ -d $path/data/$name2 ]] && chown -R "1023:1078" "$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
}
@@ -93,8 +90,6 @@ Release_data() {
#記錄開始時間
starttime1="$(date -u "+%s")"
TIME="$starttime1"
#記錄error次數起點
ERROR=1
en=118
{
while [[ $i -le $r ]]; do
@@ -169,7 +164,7 @@ while [[ $i -le $r ]]; do
if [[ $i = $r ]]; then
endtime 1 "應用恢復"
if [[ -d $Backup_folder2 ]]; then
echoRgb "是否恢復多媒體數據\n 音量上恢復,音量下不恢復"
Print "是否恢復多媒體數據 音量上恢復,音量下不恢復" ; echoRgb "是否恢復多媒體數據\n 音量上恢復,音量下不恢復"
get_version "恢復媒體數據" "跳過恢復媒體數據"
starttime1="$(date -u "+%s")"
A=1
@@ -184,12 +179,10 @@ while [[ $i -le $r ]]; do
fi
fi
fi
[[ $ERROR -ge 5 ]] && (echoRgb "錯誤次數達到上限 環境已重設\n -請重新執行腳本" "0" && rm -rf "$filepath" && exit)
let i++ en++
let i++ en++ nskg++
done
starttime1="$TIME"
echoRgb "批量恢複完成" && endtime 1 "批量恢複開始到結束" && echoRgb "應用閃退請重新開機" "0"
} &
wait
longToast "批量恢復完成"
Print "批量恢復完成 執行過程請查看$Status_log" && rm -rf "$TMPDIR"/*
Print "批量恢復完成 執行過程請查看$Status_log" && rm -rf "$TMPDIR"/*
} &

View File

@@ -13,14 +13,6 @@ path2="/data/data"
[[ ! -d $path2 ]] && echoRgb "設備不存在user目錄" "0" && exit 1
#記錄開始時間
starttime1="$(date -u "+%s")"
#顯示執行結果
echo_log() {
if [[ $? = 0 ]]; then
echoRgb "$1成功" "1" && result=0
else
echoRgb "$1失敗過世了" "0" && result=1
fi
}
{
Backup_folder="$MODDIR"
if [[ ! -f $Backup_folder/app_details ]]; then
@@ -97,6 +89,7 @@ if [[ $Recovery_mode = true ]]; then
echoRgb "$X不存在 無法恢復$FILE_NAME2數據" "0" ; Set_back
fi
else
[[ $FILE_NAME2 = thanox ]] && rm -rf "$(find "/data/system" -name "thanos_*" -maxdepth 1 -type d)"
case ${FILE_NAME##*.} in
lz4) pv "$tar_path" | tar --recursive-unlink -I lz4 -xmPpf - ;;
zst) pv "$tar_path" | tar --recursive-unlink -I zstd -xmPpf - ;;
@@ -127,7 +120,10 @@ if [[ $Recovery_mode = true ]]; then
echoRgb "路徑$X不存在" "0"
fi
elif [[ $FILE_NAME2 = data ]]; then
chown -R "1023:1078" "$path/data/$name"
[[ -d $path/data/$name2 ]] && chown -R "1023:1078" "$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
done