twrp-apps-data-restore-tool/ab_fix.sh

46 lines
951 B
Bash
Raw Normal View History

2021-07-31 19:32:54 +02:00
#!/bin/bash -e
2021-07-20 22:47:57 +02:00
bashdir="$PWD"
outdir="work"
2021-07-31 19:32:54 +02:00
if [ -z "$1" ]
then
echo "You must supply the path of the .ab file"
exit 1
fi
2021-07-20 22:47:57 +02:00
abfile=$(readlink -f "$1")
2021-07-31 19:32:54 +02:00
if [ -z "$abfile" ]
then
echo "You must supply the path of the .ab file"
exit 1
fi
2021-07-20 22:47:57 +02:00
mkdir -p "$outdir"
outdir=$(readlink -f "$outdir")
mkdir -p "$outdir/ab_backup"
cd "$outdir/ab_backup"
2021-07-31 19:32:54 +02:00
"$bashdir/twrpabx" "$abfile" > /dev/null
cd $bashdir
#Extract
for i in $(find "$outdir/ab_backup" -name "data.*.win*" ! -name '*.sha2' ! -name '*.info' -type f); do
echo "Extracting file \"$i\""
( pv $i | tar -x --overwrite -C "$outdir" ) || true
done
2021-07-20 22:47:57 +02:00
2021-07-31 19:32:54 +02:00
#Delete extracted backup directory
rm -rf "$outdir/ab_backup"
2021-07-20 22:47:57 +02:00
2021-07-31 19:32:54 +02:00
#Fix directory structure
if [ -d "$outdir/user/0" ]
then
rmdir "$outdir/user/0"
fi
mv "$outdir/data" "$outdir/data_tmp"
mkdir -p "$outdir/data"
mv "$outdir/data_tmp" "$outdir/data/data"
mv "$outdir/user" "$outdir/data/user"
mv "$outdir/app" "$outdir/data/app"