@ -4,7 +4,8 @@
#
#
export C = /tmp/backupdir
export C = /tmp/backupdir
export S = $2
export SYSDEV = " $( readlink -nf " $2 " ) "
export SYSFS = " $3 "
export V = 17.1
export V = 17.1
export ADDOND_VERSION = 1
export ADDOND_VERSION = 1
@ -94,11 +95,39 @@ if [ -d /tmp/addon.d/ ]; then
fi
fi
}
}
determine_system_mount( ) {
if grep -q -e" ^ $SYSDEV " /proc/mounts; then
umount $( grep -e" ^ $SYSDEV " /proc/mounts | cut -d" " -f2)
fi
if [ -d /mnt/system ] ; then
SYSMOUNT = "/mnt/system"
elif [ -d /system_root ] ; then
SYSMOUNT = "/system_root"
else
SYSMOUNT = "/system"
fi
export S = $SYSMOUNT /system
}
mount_system( ) {
mount -t $SYSFS $SYSDEV $SYSMOUNT -o rw,discard
}
unmount_system( ) {
umount $SYSMOUNT
}
determine_system_mount
case " $1 " in
case " $1 " in
backup)
backup)
mount_system
mkdir -p $C
mkdir -p $C
if check_prereq; then
if check_prereq; then
if check_whitelist system; then
if check_whitelist system; then
unmount_system
exit 127
exit 127
fi
fi
fi
fi
@ -107,10 +136,13 @@ case "$1" in
run_stage pre-backup
run_stage pre-backup
run_stage backup
run_stage backup
run_stage post-backup
run_stage post-backup
unmount_system
; ;
; ;
restore)
restore)
mount_system
if check_prereq; then
if check_prereq; then
if check_whitelist tmp; then
if check_whitelist tmp; then
unmount_system
exit 127
exit 127
fi
fi
fi
fi
@ -121,6 +153,7 @@ case "$1" in
restore_addon_d
restore_addon_d
rm -rf $C
rm -rf $C
sync
sync
unmount_system
; ;
; ;
*)
*)
echo " Usage: $0 {backup|restore} "
echo " Usage: $0 {backup|restore} "