forked from jensstein/oandbackup
-
Notifications
You must be signed in to change notification settings - Fork 134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Idea] Rework app "log" files #71
Labels
enhancement
New feature or request
Comments
Tiefkuehlpizze
added a commit
to Tiefkuehlpizze/oandbackupx
that referenced
this issue
Sep 27, 2020
Replaced: Creating backup tar is a pure stream now. It creates an inventory of all files to backup and then streams it using libsu IO into the tar archive. (Libsu needs a workaround to avoid receiving eof to early. This is why the inventory is very important to get the complete filesize). Replaced: Previous meta data "log" with backup.properties and json format Implemented: Support for Symlinks and Pipes Implemented: New backup structure with support of multiple backup revisions as described in NeoApplications#71 (it's not show in the UI yet; instead it always refers to the latest backup) Changed: Restore strategy uses OABX's cache directory for extracting and then moves the contents to their target location Just for the reference: This is a very rough summary of bunch of fixed up commits. I'm sorry about that.
Tiefkuehlpizze
added a commit
to Tiefkuehlpizze/oandbackupx
that referenced
this issue
Sep 28, 2020
Replaced: Creating backup tar is a pure stream now. It creates an inventory of all files to backup and then streams it using libsu IO into the tar archive. (Libsu needs a workaround to avoid receiving eof to early. This is why the inventory is very important to get the complete filesize). Replaced: Previous meta data "log" with backup.properties and json format Implemented: Support for Symlinks and Pipes Implemented: New backup structure with support of multiple backup revisions as described in NeoApplications#71 (it's not show in the UI yet; instead it always refers to the latest backup) Changed: Restore strategy uses OABX's cache directory for extracting and then moves the contents to their target location Just for the reference: This is a very rough summary of bunch of fixed up commits. I'm sorry about that.
Tiefkuehlpizze
added a commit
to Tiefkuehlpizze/oandbackupx
that referenced
this issue
Sep 29, 2020
Replaced: Creating backup tar is a pure stream now. It creates an inventory of all files to backup and then streams it using libsu IO into the tar archive. (Libsu needs a workaround to avoid receiving eof to early. This is why the inventory is very important to get the complete filesize). Replaced: Previous meta data "log" with backup.properties and json format Implemented: Support for Symlinks and Pipes Implemented: New backup structure with support of multiple backup revisions as described in NeoApplications#71 (it's not show in the UI yet; instead it always refers to the latest backup) Changed: Restore strategy uses OABX's cache directory for extracting and then moves the contents to their target location Just for the reference: This is a very rough summary of bunch of fixed up commits. I'm sorry about that.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
One thing, that bothered me for a while is the structure and information in the "log" files of the backups.
Let's start with the simplest thing: The name. It's not a log in terms of logging. It's a properties file. Let's change that.
Let's talk about the structure:
First point out, what makes sense and why:
label
- Display it in UI, so the user knows what app hides behind the package nameversionName
andversionCode
- good to knowlastBackupMillis
- the age of the backup. Very useful.isSystem
- For the sake of simplicity, we just store itisEncrypted
- We could try to guess, but why take the risk?Questionable attributes:
packageName
- a bit redundant, it's already the directory's namesplitApks
- We could just assume all apks in the directory must be installed, important is only to know which is the main apk, but maybe it's good to know the exact names…Poor attributes:
sourceDir
- it's even empty in my exampledataDir
+devicesProtectedDataDir
- package manager knows it better for sure + it not multi user compatibleBugged Attributes:
backupMode
- it stores what happened last time, so if I backed up an app with data and after a few days just the data, oabx would only offer to restore the data. It should be separated what the backup containsWhat we are missing/ideas to add:
And just more order in the backup directory and in preparation of multiple backup versions (and users?): We should talk about the directory structure. It should be simple but with a defined structure:
/sdcard/OABX
--
package.Name
---
UserId
(0 is main user, 10 may be work profile)----
YYYY-MM-DD-HH-mm-ss
-----
app
-----
data
-----
deviceProtectedData
-----
externalData
-----
obbData
-----
backup.properties
On the UI, the user can then choose which version to restore and in case of app+data, it should calculate a matching backup combination.
If I select
2020-07-06-15-00-00
for app + data restore, it should offer to restore a combination of2020-07-06-15-00-00
(data) and2020-07-05-15-00-00
(app).Just an idea…
For reference: A properties file from the same app from Titanium Backup
The text was updated successfully, but these errors were encountered: