Code Monkey home page Code Monkey logo

backup_script's Introduction

Backup_script 數據備份腳本

Stars Download Release License

概述

創作該腳本是為了使用戶能夠更加完整地備份/恢復應用數據, 支援設備必須符合以下條件:Android 8++arm64

由於本人是台灣人所以發布的版本為繁體版 (CN系統將自動翻譯自身腳本為簡體中文)

優勢

  • 數據完整:在更換系統之後,原有的數據全部保留,無需重新登陸或者下載額外數據包。
  • 支援備份SSAID 可完美備份LINE
  • 易操作:簡單几步即可備份應用完整數據!
  • 限制少:不限制機型,可跨安桌版本。
  • 功能強:可備份恢復split apk
  • 算法多:目前支持的壓縮算法有 tar(默認) lz4 zstd
  • 速度快:即使使用zstd壓縮算法速率依舊快速(對比鈦備份 swift)。

如何使用

請認真閱讀以下說明,以減少不必要的問題

推薦工具:MT管理器,若使用Termux,則請勿使用tsu

!!!以下操作皆須ROOT!!!

  1. 首先將下載到的數據備份脚本.zip解壓到任意目錄後,可以看到以下幾個文件與一個 目錄:生成應用列表.sh backup_settings.conf 備份應用.sh tools 備份自定義資料夾.sh 終止腳本.sh 警告! 不論備份或是恢復都必須保證tools的存在與完整性 否則腳本失效或是二進制調用失敗

  2. 然後執行生成應用列表.sh腳本,並等待腳本輸出結束,再等待提示結束,此時會在當前目錄生成一個appList.txt,這就是你當前安裝的所有第三方應用。

  3. 現在打開生成的appList.txt,根據裏面的提示操作後保存,這樣你就設置好了需要備份的軟件。

  4. 最後找到backup_settings.conf打開後根據提示設置保存,再打開備份應用.sh,等候備份結束完成後會在當前目錄生成一個以Backup_壓縮算法名命名的資料夾,裡面就是你的軟件備份。把這個資料夾整個保持到其他位置,刷完機后複製回手機,直接在資料夾裡找到恢復備份.sh即可恢復備份的所有數據,同樣道理,裡面也有個appList.txt,使用方法跟第3步驟一樣,不需要還原的刪除即可,另外進去備份好的資料夾找到單獨應用資料夾有個 Backup腳本 and restore腳本可以單獨備份與恢復腳本。

附加說明:如何恢復 以下是關於恢復資料夾內的文件說明?
  1. 找到恢復資料夾內的appList.txt打開 編輯列表 保存退出

  2. 找到恢復備份.sh 給予root後等待腳本結束即可

  3. 重新生成應用列表.sh可用於刷新appList.txt內的列表 使用時機為當你刪除列表內的任何應用備份時,抑或者是恢復備份.sh提示列表錯誤時

  4. 終止腳本.sh用於突然想要終止腳本或是意外操場時使用 同理備份資料夾也有一個,因為腳本無須後台特性不能使用常規手段終結,故此另外寫了一個腳本終止

關於如何更新腳本?

  • 目前有三種更新方法,有下列方式
  • 1.手動將下載的備份腳本zip不解壓縮直接放到腳本任意目錄(不包括tools目錄內)的任意地方執行任何腳本即可更新,腳本將提示
  • 2.此備份的任何腳本在執行時均會聯網檢測腳本版本,當更新時會自己提示與下載,根據腳本提示操作的即可
  • 3.將下載的壓縮包不解壓縮直接放在/storage/emulated/0/Download腳本自動檢測更新,並按照提示操作即可
  • 4.在QQ群內下載的腳本不解壓縮腳本會自己檢測更新

關於反饋

常見問題

Q1:批量備份大量提示失敗怎麼辦? A1:退出腳本,刪除/data/backup_tools,再備份一次

Q2:批量恢復大量提示失敗怎麼辦? A2:退出腳本,按照上面同樣操作。 如果還是錯誤,請建立issues,我幫你排除錯誤

Q3:微信/QQ 能不能完美備份&恢復數據? A3:不能保證,有的人說不能有的人說能,所以備份會有提示。 建議用你信賴的備份軟件針對微信/QQ再備份一次,以防丟失重要數據

Q4:為什麼部分應用備份很久? 例如王者榮耀、PUBG、原神、微信、QQ。 A4:因為連同軟件數據包都給你備份了,例如原神數據包9GB+,當然久到裂開了,恢復也是同理,還要解壓縮數據包

銘謝貢獻

  • 臭批老k(kmou424):提供部分與驗證函數思路
  • 屑老方(雄氏老方):提供自動更新腳本方案
  • 依心所言&情非得已c:提供appinfo替代aapt作為更高效的dump包名
  • 胖子老陳(雨季騷年)
  • XayahSuSuSu(XayahSuSuSu):提供App支持 文檔編輯:Petit-Abba, YuKongA

backup_script's People

Contributors

yawasau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

backup_script's Issues

OTG的U盘备份遇到问题

如果是三星S22这样的没有SD卡的设备,如果插入OTG的U盘,进入/mnt/media_rw,进入U盘目录下的备份脚本目录,备份应用会提示U盘格式不是exfat,从而不能备份,但是U盘确实是exfat格式了,目前的临时解决办法,只有把备份脚本放内置储存,并且修改backup_settings.conf下的#自定義備份目錄輸出位置 (忽略為空將默認腳本路徑中)
Output_path= 外置储存目录,才可以继续备份,
希望下次能搞定OTG的U盘备份!

請問如何備份系統設定、wifi設定、簡訊、桌面佈局?

如題,昨日恢復出廠後使用本腳本,順利恢復了所有第三方app,然而發現仍然須手工進行各種系統偏好設定,手工重設家庭和公司wifi,手工整理桌面圖標……

於是請問大佬,本腳本是不是把某些系統app的包名加入就可以恢復系統設定、wifi設定、簡訊、桌面佈局?

unzip: can't open [.zip]

执行脚本时,有一行这个unzip: can't open [.zip],是属于报错吗?会不会对备份的数据造成影响?

应用恢复无法获取包名

0 E{MEN4 K@ G_GA3P0P(1](https://user-images.githubusercontent.com/58110931/157435946-d7089ab1-73f0-4add-9560-be88b7fe747c.jpg) ![2U0SB8_}}`RDZCU4ZB(EN5
在备份的时候,detail创建被截断,导致包名以及其他信息不完整,dumpname.sh无法创建正常的applist文件,无法正常恢复手机数据

几点建议

1、希望有方法独立运行(尝试用Mix文件管理器执行,结果备份到自己直接崩了),而且依赖于MT管理器也不是个事(目前为了它在本地留了个终端apk)
2、希望能备份/导出联系人vcf文件(我知道谷歌能还原,但是国内这情况有点麻烦,而且作为一个备份软件这算基础功能吧…)
就个人使用而言,这备份有点硬核(),但是确实有够简单粗暴的,有点东西

備份存儲簡訊數據的app有問題

備份“電話和簡訊儲存服務(com.android.providers.telephony)”app我嘗試了備份之後再恢復沒恢復到一條簡訊。試了swift backup就沒有這問題。
機型:小米8青春版
版本:MIUI12.5.1

有没有可能支持云端备份?

有没有可能支持自动上传备份文件至onedrive,webdav,或者天翼云盘,阿里云盘之类的。
最好先询问用户,提供一个每备份完一个app就上传然后删除备份文件的选项。
验证文件之类的可以另外存一个数据库来保存md5之类的。
然后再警告用户不要删除文件夹什么的。
一般来说文件就都不会被更改。
上面这个流程是swiftbackup的,不知道实现难度有多大,抱歉

软件自己把自己删除了?

下载到download目录下,先备份了一个软件,同时也点了备份自定义文件夹。我删除那个软件后,执行恢复,恢复完软件后,提示是否恢复媒体,点了个是。然后直接返回,准备终止,但是脚本文件夹与脚本zip都消失了。

文件夹备份能删吗

/storage/emulated/0/Pictures
/storage/emulated/0/Download
/storage/emulated/0/Music
/storage/emulated/0/DCIM

这些为啥不能删,每次备份download都要很久

无法恢复数据

完整log如下:

设置busybox环境中
appinfo > /data/backup_tools/appinfo
appinfo.dex > /data/backup_tools/appinfo.dex
busybox > /data/backup_tools/busybox
longToast > /data/backup_tools/longToast
lz4 > /data/backup_tools/lz4
notify > /data/backup_tools/notify
pv > /data/backup_tools/pv
tar > /data/backup_tools/tar
zstd > /data/backup_tools/zstd
Illegal instruction
Illegal instruction
 -
 --------------欢迎使用⚡️🤟🐂纸备份--------------
 -当前脚本执行路径:.
 -环境变数:/data/backup_tools:/system_ext/bin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin
 -busybox版本:
 -appinfo版本:2021-10-01(52)
 -脚本版本:V10 2021/10/10-10:59
 -设备架构arm64-v8a
 -品牌:Xiaomi
 -设备代号:umi
 -型号:Mi 10
 -Android版本:11
 -SDK:30
 -终端:MT管理器
 -恢复第1个应用 总共126个 剩下125个应用
 -恢复ADM (com.dv.adm)
CANNOT LINK EXECUTABLE "pv": library "" needed or dlopened by "/data/backup_tools/pv" is not accessible for the namespace "(default)"
Illegal instruction
 -apk.tar.zst解压缩失败,过世了
 -ADM没有安装无法恢复数据
 -恢复用时:0秒
 -完成0%
 -
 -恢复第2个应用 总共126个 剩下124个应用
 -恢复APK编辑器 (zhao.apkmodifier)
CANNOT LINK EXECUTABLE "pv": library "" needed or dlopened by "/data/backup_tools/pv" is not accessible for the namespace "(default)"
Illegal instruction
 -apk.tar.zst解压缩失败,过世了
 -APK编辑器没有安装无法恢复数据
 -恢复用时:0秒
 -完成1%
 -
 -恢复第3个应用 总共126个 剩下123个应用
 -恢复AndroidBLEDemo (com.example.admin.mybledemo)
CANNOT LINK EXECUTABLE "pv": library "" needed or dlopened by "/data/backup_tools/pv" is not accessible for the namespace "(default)"
Illegal instruction
 -apk.tar.zst解压缩失败,过世了
 -AndroidBLEDemo没有安装无法恢复数据
 -恢复用时:0秒
 -完成2%
 -
 -恢复第4个应用 总共126个 剩下122个应用
 -恢复AppleMusic (com.apple.android.music)
CANNOT LINK EXECUTABLE "pv": library "" needed or dlopened by "/data/backup_tools/pv" is not accessible for the namespace "(default)"
Illegal instruction
 -apk.tar.zst解压缩失败,过世了
 -AppleMusic没有安装无法恢复数据
 -恢复用时:0秒
 -完成3%
 -
 -错误次数达到上限 环境已重设
 -请重新执行脚本
./restor.sh[186]: longToast: inaccessible or not found
./restor.sh[188]: notify: inaccessible or not found

是从MIUI转Flyme遇到的错误,均为Android11,且备份与恢复环境都是完整Magisk v23000、MT管理器。

提一個有史以來一直都有的小bug。

每次腳本更新後backup_settings.conf文件內容不會隨版本更新而更新。
我希望後續可以做到更新這個配置文件的同時並保留自己修改的數據

有一個需求

我想只備份自定義的文件夾,於是我把media什麼什麼的改為1,然後把applist裡面的app全部用#注釋掉,然後開始備份,但是提示applist為空或者全部注釋。

数据权限问题反馈

有的应用中的数据权限并不一定都是一样的,以Termux为例,Termux中的命令都是700,但是如果安装了系统,例如Arch,Arch的文件都是755,这就导致了恢复后文件权限都会变成700而出现问题
Screenshot_20211021-154029.png

SB高雄佬

Damn.Just close source and use it yourself! you did a shit job and it makes my eyes DIRTY!!!FUCKU!

備份存儲簡訊數據的app有問題

備份“電話和簡訊儲存服務(com.android.providers.telephony)”app我嘗試了備份之後再恢復沒恢復到一條簡訊。試了swift backup備份這個app就沒有這問題。
機型:小米8青春版
版本:MIUI12.5.1

提出个小问题

大佬,脚本经常出现tools/apk文件夹遗失脚本用不了的情况,虽然自己新建个apk文件夹就行。但是好烦人。。。能不能让启动脚本的时候发现这个文件夹没了自动新建一个呀[流泪][流泪],不知道哪个清理软件搞的,总删这个文件夹

请求支持X86,以及自定义排除黑名单

WSA想用一下,用不了,这。。。
还有黑名单能不能改进一下,填入包名的直接获取列表时就排除,有一些垃圾应用想事先就填好不让他备份,但是还要手动去改,麻烦了点

文件被删除

未知是MT管理器的问题还是脚本问题 在恢复数据时 出现了清空Data文件夹的现象
已出现两次

单应用多备份需求

抱歉,平板不方便打繁体哈

你好,我有一个需求,就是单个应用生成多个备份,而后根据需要选择恢复对应的备份

不知道有此类需求的人群多不多,实现的成本会不会很大,希望开发大大可以评估一下哦

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.