Compare commits
16 Commits
2024112417
...
2025070618
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bf58f2f7b2 | ||
|
|
6fb9d0314b | ||
|
|
705f2b67e6 | ||
|
|
c7dd741657 | ||
|
|
c016118af6 | ||
|
|
307db2ae1d | ||
|
|
6248e2262e | ||
|
|
979b828cd9 | ||
|
|
a8c26d334c | ||
|
|
e979cf54d2 | ||
|
|
b5de2d1725 | ||
|
|
1aa4e0f440 | ||
|
|
8896743c06 | ||
|
|
e5aaa88e91 | ||
|
|
b0997eb88a | ||
|
|
bc1f62a036 |
25
README.md
25
README.md
@@ -18,12 +18,14 @@
|
||||
|
||||
- 數據完整:在更換系統之後,原有的數據全部保留,無需重新登陸或者下載額外數據包。
|
||||
- 支援備份SSAID 可完美備份LINE
|
||||
- 支援備份應用權限 可備份運行時權限與ops權限
|
||||
- 易操作:簡單几步即可備份應用完整數據!
|
||||
- 限制少:不限制機型,可跨安桌版本。
|
||||
- 功能強:可備份恢復`split apk`。
|
||||
- 算法多:目前支持的壓縮算法有 `tar(默認)` `lz4` `zstd`。
|
||||
- 速度快:即使使用`zstd`壓縮算法速率依舊快速(對比鈦備份 swift)。
|
||||
|
||||
- 算法多:目前支持的壓縮算法有 `tar(默認)`
|
||||
- `zstd`。
|
||||
- 速度快:即使使用`zstd`壓縮算法速率依舊快速(對比鈦備份 swift backup)。
|
||||
- 腳本自帶tools完整性效驗與壓縮包效驗
|
||||
## 如何使用
|
||||
`請認真閱讀以下說明,以減少不必要的問題`
|
||||
|
||||
@@ -39,6 +41,9 @@
|
||||
|
||||
4. 最後找到`backup_settings.conf`打開後根據提示設置保存,再打開`備份應用.sh`,等候備份結束完成後會在當前目錄生成一個以`Backup_壓縮算法名`命名的資料夾,裡面就是你的軟件備份。把這個資料夾整個保持到其他位置,刷完機后複製回手機,直接在資料夾裡找到`恢復備份.sh`即可恢復備份的所有數據,同樣道理,裡面也有個`appList.txt`,使用方法跟第3步驟一樣,不需要還原的刪除即可,另外進去備份好的資料夾找到單獨應用資料夾有個 Backup腳本 and restore腳本可以單獨備份與恢復腳本。
|
||||
|
||||
5. 腳本執行過程中請留意紅色字眼提示有無任何錯誤,並且使用恢復腳本時留意恢復結束後是否提示應用存在ssaid,假設提示存在ssaid請在恢復後立刻重啟已便套用ssaid,假設恢復ssaid後立刻打開應用會導致ssaid套用失敗,因為Android會產生一個新的saaid,如此會導致應用卡白屏或是提示需要登錄,ssaid是判斷應用是否換過環境與設備的判斷之一,保持一致可以減少諸如提示異地登錄或是需要重新登入驗證的方法。
|
||||
|
||||
|
||||
##### 附加說明:如何恢復 以下是關於恢復資料夾內的文件說明?
|
||||
|
||||
1. 找到恢復資料夾內的appList.txt打開 編輯列表 保存退出
|
||||
@@ -47,13 +52,13 @@
|
||||
|
||||
3. 重新生成應用列表.sh可用於刷新appList.txt內的列表 使用時機為當你刪除列表內的任何應用備份時,抑或者是恢復備份.sh提示列表錯誤時
|
||||
|
||||
4. 終止腳本.sh用於突然想要終止腳本或是意外操場時使用 同理備份資料夾也有一個,因為腳本無須後台特性不能使用常規手段終結,故此另外寫了一個腳本終止
|
||||
4. 終止腳本.sh用於突然想要終止腳本或是意外操作時使用 同理備份資料夾也有一個,因為腳本無須後台特性不能使用常規手段終結,故此另外寫了一個腳本終止
|
||||
|
||||
|
||||
# 關於如何更新腳本?
|
||||
- 目前有三種更新方法,有下列方式
|
||||
- 1.手動將下載的備份腳本zip不解壓縮直接放到腳本任意目錄(不包括tools目錄內)的任意地方執行任何腳本即可更新,腳本將提示
|
||||
- 2.此備份的任何腳本在執行時均會聯網檢測腳本版本,當更新時會自己提示與下載,根據腳本提示操作的即可
|
||||
- 2.此備份的任何腳本在執行時均會聯網檢測腳本版本,當更新時會自己提示與下載,根據腳本提示操作的即可(conf update=1時生效),腳本聯網僅作為檢查更新用途,無任何非法操作亦或是下發格機
|
||||
- 3.將下載的壓縮包不解壓縮直接放在/storage/emulated/0/Download腳本自動檢測更新,並按照提示操作即可
|
||||
- 4.在QQ群內下載的腳本不解壓縮腳本會自己檢測更新
|
||||
|
||||
@@ -61,7 +66,11 @@
|
||||
- 如果使用過程中出現問題,請攜帶截圖並詳細說明問題,建立 [issues](https://github.com/YAWAsau/backup_script/issues)。
|
||||
- 酷安 @[落葉淒涼TEL](http://www.coolapk.com/u/2277637)
|
||||
- QQ組 976613477
|
||||
- TG https://t.me/backup_script
|
||||
- TG https://t.me/yawasau_script
|
||||
|
||||
## 答疑
|
||||
- 一個shell腳本內為什麼有dex?
|
||||
- dex用來實現腳本難以實現的目的,目前saaid備份恢復,備份恢復運行時權限與ops權限,下載與訪問GitHub api來檢查腳本更新,列出使用者應用名稱與包名,繁體轉簡體均為dex的功能,感謝[Android-DataBackup](https://github.com/XayahSuSuSu/Android-DataBackup) by [XayahSuSuSu](https://github.com/XayahSuSuSu)
|
||||
|
||||
## 常見問題
|
||||
|
||||
@@ -87,7 +96,7 @@ A5;腳本備份時會比對上次備份時的備份SIZE大小 如果有差異就
|
||||
## 銘謝貢獻
|
||||
- 臭批老k([kmou424](https://github.com/kmou424)):提供部分與驗證函數思路
|
||||
- 屑老方([雄氏老方](http://www.coolapk.com/u/665894)):提供自動更新腳本方案
|
||||
- 依心所言&情非得已c:提供appinfo替代aapt作為更高效的dump包名
|
||||
- 胖子老陳(雨季騷年)
|
||||
- XayahSuSuSu([XayahSuSuSu](https://github.com/XayahSuSuSu)):提供App支持
|
||||
- XayahSuSuSu([XayahSuSuSu](https://github.com/XayahSuSuSu)):提供App支持,dex支持
|
||||
|
||||
`文檔編輯:Petit-Abba, YuKongA`
|
||||
|
||||
@@ -12,6 +12,10 @@ background_execution=0
|
||||
#1簡體中文 0繁體中文
|
||||
Shell_LANG=
|
||||
|
||||
#備份開始後偽裝亮屏
|
||||
#1開啟 0關閉
|
||||
setDisplayPowerMode=0
|
||||
|
||||
#自定義備份文件輸出位置 支持相對路徑(留空則默認當前路徑)
|
||||
Output_path=""
|
||||
|
||||
@@ -22,6 +26,12 @@ list_location=""
|
||||
#1開啟 0關閉
|
||||
update=1
|
||||
|
||||
#自動更新的cdn節點,針對國內用戶使用,無牆或是使用VPN請設置0
|
||||
#0 直鏈下載
|
||||
#1 https://ghfast.top
|
||||
#2 https://shrill-pond-3e81.hunsh.workers.dev
|
||||
cdn=1
|
||||
|
||||
#自定義屏蔽外部掛載點 例:OTG 虛擬SD等 多個掛載點請使用 | 區隔
|
||||
#屏蔽後不會提示音量鍵選擇,不影響Output_path指定外置存儲位置
|
||||
mount_point="rannki|0000-1"
|
||||
@@ -35,9 +45,9 @@ user=0
|
||||
#此外設置0時將同時忽略appList.txt的!與任何黑名單設置(包括黑名單列表)
|
||||
Backup_Mode=1
|
||||
|
||||
#執行生成應用列表.sh時輸出用於recovery救援的卡刷包?
|
||||
#執行start.sh時輸出用於recovery救援的卡刷包?
|
||||
#1輸出 0不輸出
|
||||
recovery_flash=1
|
||||
recovery_flash=0
|
||||
|
||||
#是否備份使用者數據 (1備份 0不備份 留空強制選擇)
|
||||
Backup_user_data=1
|
||||
@@ -52,15 +62,12 @@ backup_media=0
|
||||
#存在進程忽略備份(1忽略0備份)
|
||||
Background_apps_ignore=0
|
||||
|
||||
#假設你遇到列表輸出異常問題請將此設為1
|
||||
debug_list=0
|
||||
|
||||
#添加自定義備份路徑 例:Download DCIM等文件夾 請使用絕對路徑,請勿刪除""
|
||||
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
|
||||
"
|
||||
|
||||
|
||||
9
start.sh
Normal file
9
start.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/system/bin/sh
|
||||
if [ -f "${0%/*}/tools/tools.sh" ]; then
|
||||
MODDIR="${0%/*}"
|
||||
conf_path="${0%/*}/backup_settings.conf"
|
||||
[ ! -f "${0%/*}/backup_settings.conf" ] && . "${0%/*}/tools/tools.sh"
|
||||
else
|
||||
echo "${0%/*}/tools/tools.sh遺失"
|
||||
fi
|
||||
. "${0%/*}/tools/tools.sh" | tee "${0%/*}/log.txt"
|
||||
2568
tools/Device_List
2568
tools/Device_List
File diff suppressed because it is too large
Load Diff
BIN
tools/busybox
BIN
tools/busybox
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
1253
tools/tools.sh
1253
tools/tools.sh
File diff suppressed because it is too large
Load Diff
BIN
tools/zstd
BIN
tools/zstd
Binary file not shown.
@@ -1,18 +0,0 @@
|
||||
[ "$(echo "${0%/*}" | grep -o 'bin.mt.plus/temp')" != "" ] && echo "你媽沒告訴你腳本要解壓縮嗎?傻逼玩兒" && exit 2
|
||||
if [ -f "${0%/*}/tools/tools.sh" ]; then
|
||||
MODDIR="${0%/*}"
|
||||
operate="backup"
|
||||
conf_path="${0%/*}/backup_settings.conf"
|
||||
Update_backup="1"
|
||||
[ ! -f "${0%/*}/backup_settings.conf" ] && . "${0%/*}/tools/tools.sh"
|
||||
case $(grep -o 'background_execution=.*' "$conf_path" | awk -F '=' '{print $2}') in
|
||||
0)
|
||||
. "${0%/*}/tools/tools.sh" | tee "${0%/*}/log.txt" ;;
|
||||
1)
|
||||
{
|
||||
. "${0%/*}/tools/tools.sh" | tee "${0%/*}/log.txt"
|
||||
} & ;;
|
||||
esac
|
||||
else
|
||||
echo "${0%/*}/tools/tools.sh遺失"
|
||||
fi
|
||||
18
備份應用.sh
18
備份應用.sh
@@ -1,18 +0,0 @@
|
||||
[ "$(echo "${0%/*}" | grep -o 'bin.mt.plus/temp')" != "" ] && echo "你媽沒告訴你腳本要解壓縮嗎?傻逼玩兒" && exit 2
|
||||
if [ -f "${0%/*}/tools/tools.sh" ]; then
|
||||
MODDIR="${0%/*}"
|
||||
operate="backup"
|
||||
conf_path="${0%/*}/backup_settings.conf"
|
||||
Update_backup=""
|
||||
[ ! -f "${0%/*}/backup_settings.conf" ] && . "${0%/*}/tools/tools.sh"
|
||||
case $(grep -o 'background_execution=.*' "$conf_path" | awk -F '=' '{print $2}') in
|
||||
0)
|
||||
. "${0%/*}/tools/tools.sh" | tee "${0%/*}/log.txt" ;;
|
||||
1)
|
||||
{
|
||||
. "${0%/*}/tools/tools.sh" | tee "${0%/*}/log.txt"
|
||||
} & ;;
|
||||
esac
|
||||
else
|
||||
echo "${0%/*}/tools/tools.sh遺失"
|
||||
fi
|
||||
18
備份自定義資料夾.sh
18
備份自定義資料夾.sh
@@ -1,18 +0,0 @@
|
||||
[ "$(echo "${0%/*}" | grep -o 'bin.mt.plus/temp')" != "" ] && echo "你媽沒告訴你腳本要解壓縮嗎?傻逼玩兒" && exit 2
|
||||
if [ -f "${0%/*}/tools/tools.sh" ]; then
|
||||
MODDIR="${0%/*}"
|
||||
operate="backup_media"
|
||||
conf_path="${0%/*}/backup_settings.conf"
|
||||
Update_backup=""
|
||||
[ ! -f "${0%/*}/backup_settings.conf" ] && . "${0%/*}/tools/tools.sh"
|
||||
case $(grep -o 'background_execution=.*' "$conf_path" | awk -F '=' '{print $2}') in
|
||||
0)
|
||||
. "${0%/*}/tools/tools.sh" | tee "${0%/*}/log.txt" ;;
|
||||
1)
|
||||
{
|
||||
. "${0%/*}/tools/tools.sh" | tee "${0%/*}/log.txt"
|
||||
} & ;;
|
||||
esac
|
||||
else
|
||||
echo "${0%/*}/tools/tools.sh遺失"
|
||||
fi
|
||||
18
生成應用列表.sh
18
生成應用列表.sh
@@ -1,18 +0,0 @@
|
||||
[ "$(echo "${0%/*}" | grep -o 'bin.mt.plus/temp')" != "" ] && echo "你媽沒告訴你腳本要解壓縮嗎?傻逼玩兒" && exit 2
|
||||
if [ -f "${0%/*}/tools/tools.sh" ]; then
|
||||
MODDIR="${0%/*}"
|
||||
operate="Getlist"
|
||||
conf_path="${0%/*}/backup_settings.conf"
|
||||
Update_backup=""
|
||||
[ ! -f "${0%/*}/backup_settings.conf" ] && . "${0%/*}/tools/tools.sh"
|
||||
case $(grep -o 'background_execution=.*' "$conf_path" | awk -F '=' '{print $2}') in
|
||||
0)
|
||||
. "${0%/*}/tools/tools.sh" | tee "${0%/*}/log.txt" ;;
|
||||
1)
|
||||
{
|
||||
. "${0%/*}/tools/tools.sh" | tee "${0%/*}/log.txt"
|
||||
} & ;;
|
||||
esac
|
||||
else
|
||||
echo "${0%/*}/tools/tools.sh遺失"
|
||||
fi
|
||||
12
終止腳本.sh
12
終止腳本.sh
@@ -1,12 +0,0 @@
|
||||
if [ -f "${0%/*}/tools/tools.sh" ]; then
|
||||
MODDIR="${0%/*}"
|
||||
operate="kill_script"
|
||||
conf_path="${0%/*}/backup_settings.conf"
|
||||
. "$MODDIR/tools/tools.sh"
|
||||
echoRgb "等待腳本停止中,請稍後....."
|
||||
kill_Serve && echoRgb "腳本終止"
|
||||
exit
|
||||
else
|
||||
[[ $(echo "${0%/*}" | grep -o 'bin.mt.plus/temp') != "" ]] && echo "你媽沒告訴你腳本要解壓縮嗎?傻逼玩兒" && exit 2
|
||||
echo "${0%/*}/tools/tools.sh遺失"
|
||||
fi
|
||||
Reference in New Issue
Block a user