#! /bin/bash
#
# This script mounts ${DEVICE} on ${MOUNTDIR} and initiates a backup
#
# usage: systembackup-cron.sh -system
#        or
#        systembackup-cron.sh -sysinc
#        or
#        systembackup-cron.sh -docs
#
#
# $Id: systembackup-cron.sh,v 1.5 2004/12/05 14:34:39 pj Exp $
#

DEVICE=/dev/hdh1
MOUNTDIR=/mnt/hdh1
SYSTEMBACKUP=/opt/systembackup/systembackup.sh

function preparebackup()
{
    # is backup disk mounted
    mount |grep ${MOUNTDIR}
    if [ $? = "1" ]
    then
        mount -t ext3 ${DEVICE} ${MOUNTDIR}
        mount |grep ${DEVICE}
        if [ $? = "1" ]
        then
           echo "Backup disk cannot be mounted, exiting"
           exit 1
        else
           echo "Backup disk mounted successfully"
        fi
    else
        echo "Backup disk already mounted"
    fi
}


function systembackup()
{
    ${SYSTEMBACKUP} -system
}


function sysinc()
{
    ${SYSTEMBACKUP}  -sysinc
}


function docbackup()
{
    ${SYSTEMBACKUP} -docs
}


function cleanup()
{
    # is backup disk mounted
    mount |grep ${DEVICE}
    if [ $? = "0" ]
    then
        umount ${MOUNTDIR} > /dev/null 2>&1
        mount |grep ${DEVICE}
        if [ $? = "1" ]
        then
           echo "Backup disk umounted successfully"
        else
           echo "Backup disk cannot be umounted"
           exit 1
        fi
    else
        echo "Backup disk already umounted"
    fi
}

function printhelp()
{
echo "
Commands:
-system                                 : performs system backup as defined in
                                        : systembackup.systembackup() function
-sysinc                                 : performs incremental backup since 
                                        : latest timestamp
-docs                                   : backup docs to directory
"
}


#---------------------------------------------------------------------
#   Parse commandline
#---------------------------------------------------------------------

# system backup
if [[ $1 = "-system" ]]; then
     preparebackup
     systembackup
     cleanup
# Incremental system backup
elif [[ $1 = "-sysinc" ]]; then
     preparebackup
     sysinc
     cleanup
# docs backup
elif [[ $1 = "-docs" ]]; then
     preparebackup
     docbackup
     cleanup
else
    printhelp 
fi

