#!/bin/sh

###################
# declare variables
###################

bakrootdir=/backup_mounts/root; export bakrootdir
bakusrdir=/backup_mounts/usr; export bakusrdir 

###################
echo " Checking for spare root and usr devices..."
###################

rtdev=`mount | grep $bakrootdir | cut -d" " -f3`
if [ -z "$rtdev" ]
then
    echo " Backup device not mounted... exiting"
    exit 1
fi

usrdev=`mount | grep $bakusrdir | cut -d" " -f3`
if [ -z "$usrdev" ]
then
     echo " Backup device for /usr not mounted... exiting"
     exit 1
fi

###################
echo " backup the root filesystem..."
###################

rm -rf $bakrootdir/*
rm -rf $bakrootdir/.*
cd /
dump -0f - / | (cd $bakrootdir; restore -xf -)

###################
echo " backup the usr filesystem..."
###################

rm -rf $bakusrdir/*
rm -rf $bakusrdir/.*
cd /
dump -0f - /usr | (cd $bakusrdir; restore -xf -)

###################
echo " swap new fstab with original..."
###################

cd $bakrootdir/etc
if test -w fstab.recover
then
     mv fstab fstab.orig
     cp fstab.recover fstab
else
     echo "no fstab.recover found... exiting"
     exit 1
fi

###################
echo " swap new rc.config with original... "
###################

cd $bakrootdir/etc
if test -w rc.config.recover 
then
     mv rc.config rc.config.orig
     cp rc.config.recover rc.config
else
     echo "no rc.config.recover found... exiting"
     exit 1
fi

###################
echo " remove symlink to swapdefault..."
###################

cd $bakrootdir/sbin
if test -h swapdefault
then
     rm swapdefault
else
     echo "no swapdefault link found... skipping symlink creation."
     exit 0
fi

###################
echo " create new symlink to swapdefault..."
###################

ln -s /dev/rz10b swapdefault

