This commit is contained in:
Yawasau
2023-12-23 14:29:52 +08:00
parent 1fb7f93b9f
commit 96167d1d51
6 changed files with 28 additions and 23 deletions

View File

@@ -28,17 +28,17 @@ Backup_user_data=1
Backup_obb_data=1
#是否在應用數據備份好後備份自定義目錄
backup_media=0
backup_media=1
#假設你遇到列表輸出異常問題請將此設為1
debug_list=0
#添加自定義備份路徑 請勿刪除" "
Custom_path="
/storage/emulated/0/Pictures
/storage/emulated/0/Download
#/storage/emulated/0/Music
/storage/emulated/0/DCIM
/storage/emulated/0/Pictures/
/storage/emulated/0/Download/
/storage/emulated/0/Music
/storage/emulated/0/DCIM/
/data/adb
"

View File

@@ -567,6 +567,8 @@
"23049PCD8G" "POCO F5 國際版"
"23049PCD8I" "POCO F5 印度版"
"23013PC75G" "POCO F5 Pro 國際版"
"23113RKC6G" "POCO F6 Pro 國際版"
"23113RKC6I" "POCO F6 Pro 印度版"
"M1912G7BI" "POCO X2 印度版"
"M2007J20CI" "POCO X3 印度版"
"M2007J20CG" "POCO X3 NFC 國際版"
@@ -603,6 +605,7 @@
"22071219CG" "POCO M5 國際版"
"22071219CI" "POCO M5 印度版"
"2207117BPG" "POCO M5s 國際版"
"23128PC33I" "POCO M6 5G 印度版"
"23076PC4BI" "POCO M6 Pro 5G 印度版"
"M2006C3MI" "POCO C3 印度版"
"211033MI" "POCO C31 印度版"
@@ -614,6 +617,7 @@
"22127PC95G" "POCO C55 國際版"
"22127PC95I" "POCO C55 印度版"
"2310FPCA4G" "POCO C65 國際版"
"2310FPCA4I" "POCO C65 印度版"
"XMWT01" "小米手表"
"FYJ01QP" "小米米家翻譯機"
"21051191C" "CyberDog 仿生四足機器人"
@@ -1384,6 +1388,8 @@
"NX711J" "nubia Z50 / nubia Z50S"
"NX712J" "nubia Z50 Ultra"
"NX713J" "nubia Z50S Pro"
"NX715J" "nubia Z50 SE"
"NX721J" "nubia Z60 Ultra"
"NX601J" "nubia X6"
"NX616J" "nubia X"
"NX612J" "nubia V18"
@@ -1397,6 +1403,7 @@
"NX575J" "nubia N2"
"NX617J" "nubia N3"
"NX301J" "nubia N5"
"nubia 8150N" "nubia Neo 5G"
"LPD-20W" "nubia Pad 3D"
"NX609J" "紅魔電競遊戲手機"
"NX619J" "紅魔 Mars 電競手機"

View File

@@ -65,7 +65,7 @@ else
echo "Magisk busybox Path does not exist"
fi
export PATH="$PATH"
backup_version="V15.8.0"
backup_version="V15.8.1"
#tools_path="${tools_path/'/storage/emulated/'/'/data/media/'}"
filepath="/data/backup_tools"
busybox="$filepath/busybox"
@@ -118,6 +118,7 @@ if [[ -f $busybox ]]; then
fi
done
fi
[[ ! -f $filepath/zstd ]] && echoRgb "$filepath缺少zstd" && exit 2
export PATH="$filepath:$PATH"
export TZ=Asia/Taipei
export CLASSPATH="$tools_path/classes.dex:$tools_path/Control.dex"
@@ -149,7 +150,6 @@ case $LANG in
*)
alias ts="app_process /system/bin --nice-name=appinfo han.core.order.ChineseConverter -t $@" ;;
esac
alias zstd="zstd --ultra -$Compression_rate -T0 -q --priority=rt"
alias LS="toybox ls -Zd"
alias lz4="zstd --ultra -$Compression_rate -T0 -q --priority=rt --format=lz4"
#[[ $1 = --help ]] && appinfo --help
@@ -683,7 +683,7 @@ partition_info() {
}
kill_app() {
[[ $Pause_Freeze = "" ]] && Pause_Freeze="0"
if [[ $name2 != $Open_apps2 ]]; then
if [[ $name2 != bin.mt.plus && $name2 != com.termux ]]; then
if [[ $Pause_Freeze = 0 ]]; then
if [[ $(dumpsys activity processes | grep "packageList" | cut -d '{' -f2 | cut -d '}' -f1 | egrep -w "^$name2$" | sed -n '1p') = $name2 ]]; then
killall -9 "$name2" &>/dev/null
@@ -753,8 +753,8 @@ Backup_apk() {
cd "$apk_path2"
case $Compression_method in
tar | TAR | Tar) tar --checkpoint-action="ttyout=%T\r" -cf "$Backup_folder/apk.tar" *.apk ;;
lz4 | LZ4 | Lz4) tar --checkpoint-action="ttyout=%T\r" -cf - *.apk | lz4>"$Backup_folder/apk.tar.lz4" ;;
zstd | Zstd | ZSTD) tar --checkpoint-action="ttyout=%T\r" -cf - *.apk | zstd>"$Backup_folder/apk.tar.zst" ;;
lz4 | LZ4 | Lz4) tar --checkpoint-action="ttyout=%T\r" -cf - *.apk | lz4 >"$Backup_folder/apk.tar.lz4" ;;
zstd | Zstd | ZSTD) tar --checkpoint-action="ttyout=%T\r" --ultra -"$Compression_rate" -T0 -q --priority=rt -cf - *.apk | zstd>"$Backup_folder/apk.tar.zst" ;;
esac
)
echo_log "備份$apk_number個Apk"
@@ -813,7 +813,7 @@ Backup_data() {
mediapath="$(get_variables "$1mediapath" "$app_details")"
fi
data_path="$2"
if [[ $1 != storage-isolation && $1 != thanox && $1 != adb ]]; then
if [[ $1 != storage-isolation && $1 != thanox ]]; then
Compression_method1="$Compression_method"
Compression_method=tar
fi
@@ -822,7 +822,7 @@ Backup_data() {
;;
esac
if [[ -d $data_path ]]; then
unset Filesize m_size k_size
unset Filesize m_size k_size get_size
Filesize="$(du -s "$data_path" | awk '{print $1}')"
k_size="$(awk 'BEGIN{printf "%.2f\n", "'$Filesize'"'*1024'/'1024'}')"
m_size="$(awk 'BEGIN{printf "%.2f\n", "'$k_size'"/'1024'}')"
@@ -842,15 +842,15 @@ Backup_data() {
user)
case $Compression_method in
tar | Tar | TAR) tar --checkpoint-action="ttyout=%T\r" --exclude="${data_path##*/}/.ota" --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/lib" --exclude="${data_path##*/}/code_cache" --exclude="${data_path##*/}/no_backup" --warning=no-file-changed -cpf "$Backup_folder/$1.tar" -C "${data_path%/*}" "${data_path##*/}" 2>/dev/null ;;
zstd | Zstd | ZSTD) tar --checkpoint-action="ttyout=%T\r" --exclude="${data_path##*/}/.ota" --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/lib" --exclude="${data_path##*/}/code_cache" --exclude="${data_path##*/}/no_backup" --warning=no-file-changed -cpf - -C "${data_path%/*}" "${data_path##*/}" | zstd>"$Backup_folder/$1.tar.zst" 2>/dev/null ;;
lz4 | Lz4 | LZ4) tar --checkpoint-action="ttyout=%T\r" --exclude="${data_path##*/}/.ota" --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/lib" --exclude="${data_path##*/}/code_cache" --exclude="${data_path##*/}/no_backup" --warning=no-file-changed -cpf - -C "${data_path%/*}" "${data_path##*/}" | lz4>"$Backup_folder/$1.tar.lz4" 2>/dev/null ;;
zstd | Zstd | ZSTD) tar --checkpoint-action="ttyout=%T\r" --exclude="${data_path##*/}/.ota" --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/lib" --exclude="${data_path##*/}/code_cache" --exclude="${data_path##*/}/no_backup" --warning=no-file-changed --ultra -"$Compression_rate" -T0 -q --priority=rt -cpf - -C "${data_path%/*}" "${data_path##*/}" | zstd>"$Backup_folder/$1.tar.zst" 2>/dev/null ;;
lz4 | Lz4 | LZ4) tar --checkpoint-action="ttyout=%T\r" --exclude="${data_path##*/}/.ota" --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/lib" --exclude="${data_path##*/}/code_cache" --exclude="${data_path##*/}/no_backup" --warning=no-file-changed -cpf - -C "${data_path%/*}" "${data_path##*/}" | lz4 >"$Backup_folder/$1.tar.lz4" 2>/dev/null ;;
esac
;;
*)
case $Compression_method in
tar | Tar | TAR) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}"/.* --warning=no-file-changed -cpf "$Backup_folder/$1.tar" -C "${data_path%/*}" "${data_path##*/}" ;;
zstd | Zstd | ZSTD) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}"/.* --warning=no-file-changed -cpf - -C "${data_path%/*}" "${data_path##*/}" | zstd>"$Backup_folder/$1.tar.zst" ;;
lz4 | Lz4 | LZ4) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}"/.* --warning=no-file-changed -cpf - -C "${data_path%/*}" "${data_path##*/}" | lz4>"$Backup_folder/$1.tar.lz4" 2>/dev/null ;;
zstd | Zstd | ZSTD) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}"/.* --warning=no-file-changed --ultra -"$Compression_rate" -T0 -q --priority=rt -cpf - -C "${data_path%/*}" "${data_path##*/}" | zstd>"$Backup_folder/$1.tar.zst" ;;
lz4 | Lz4 | LZ4) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}"/.* --warning=no-file-changed -cpf - -C "${data_path%/*}" "${data_path##*/}" | lz4 >"$Backup_folder/$1.tar.lz4" 2>/dev/null ;;
esac
;;
esac
@@ -1417,7 +1417,7 @@ backup)
[[ -f $app_details ]] && . "$app_details" &>/dev/null || touch "$app_details"
mediatxt="$Backup/mediaList.txt"
[[ ! -f $mediatxt ]] && echo "#不需要恢復的資料夾請在開頭注釋# 比如#媒體" > "$mediatxt"
echo "$Custom_path" | grep -v "#" | sed -e '/^$/d' | while read; do
echo "$Custom_path" | grep -v "#" | sed -e '/^$/d' | sed 's/\/$//' | while read; do
echoRgb "備份第$A/$B個資料夾 剩下$((B - A))" "3"
starttime2="$(date -u "+%s")"
Backup_data "${REPLY##*/}" "$REPLY"
@@ -1829,10 +1829,9 @@ backup_media)
echo "$script">"$TMPDIR/scriptTMP"
Set_screen_pause_seconds on
{
echo "$Custom_path" | grep -v "#" | sed -e '/^$/d' | while read; do
echo "$Custom_path" | grep -v "#" | sed -e '/^$/d' | sed 's/\/$//' | while read; do
echoRgb "備份第$A/$B個資料夾 剩下$((B - A))" "3"
starttime2="$(date -u "+%s")"
[[ ${REPLY: -1} = / ]] && REPLY="${REPLY%?}"
Backup_data "${REPLY##*/}" "$REPLY"
endtime 2 "${REPLY##*/}備份" "1"
echoRgb "完成$((A * 100 / B))% $hx$(echo "$Occupation_status" | awk 'END{print "剩餘:"$1"使用率:"$2}')" "2" && echoRgb "____________________________________" && let A++
@@ -1867,7 +1866,6 @@ Device_List)
OnePlus) Brand_URL="$URL/oneplus.html" ;;
Sony) Brand_URL="$URL/sony_cn.html" ;;
esac
Brand_URL="$URL/xiaomi.html"
down -s -L "$Brand_URL" | sed -n 's/.*<code class="language-plaintext highlighter-rouge">\([^<]*\)<\/code>: \(.*\)<\/p>.*/\1\n\2/p' | sed 's/\(.*\)/"\1"/' | sed 'N;s/\n/ /'>>"$tools_path/Device_List"
done
if [[ -e $tools_path/Device_List ]]; then

View File

@@ -4,5 +4,5 @@ if [ -f "${0%/*}/tools/tools.sh" ]; then
conf_path="${0%/*}/backup_settings.conf"
. "${0%/*}/tools/tools.sh" | tee "$MODDIR/log.txt"
else
echo "${0%/*}/tools/tools.sh"
echo "${0%/*}/tools/tools.sh"
fi

View File

@@ -4,5 +4,5 @@ if [ -f "${0%/*}/tools/tools.sh" ]; then
conf_path="${0%/*}/backup_settings.conf"
. "${0%/*}/tools/tools.sh" | tee "$MODDIR/log.txt"
else
echo "${0%/*}/tools/tools.sh"
echo "${0%/*}/tools/tools.sh"
fi

View File

@@ -4,5 +4,5 @@ if [ -f "${0%/*}/tools/tools.sh" ]; then
conf_path="${0%/*}/backup_settings.conf"
. "${0%/*}/tools/tools.sh" | tee "$MODDIR/log.txt"
else
echo "${0%/*}/tools/tools.sh"
echo "${0%/*}/tools/tools.sh"
fi