#!/bin/bash

source /usr/share/dirsrv/data/DSSharedLib

libpath_add "/usr/lib/arm-linux-gnueabihf/dirsrv/"
libpath_add "/usr/lib/arm-linux-gnueabihf"
libpath_add ""
libpath_add "/usr/lib/arm-linux-gnueabihf"

export LD_LIBRARY_PATH
SHLIB_PATH=$LD_LIBRARY_PATH
export SHLIB_PATH

usage ()
{
    echo "Usage: saveconfig [-Z serverID] [-h]"
    echo "Options:"
    echo "        -Z serverID  - Server instance identifier"
    echo "        -h           - Display Usage"
}

while getopts "Z:h" flag
do
    case $flag in
        Z) servid=$OPTARG;;
        h) usage
           exit 0;;
        ?) usage
           exit 1;;
    esac
done

initfile=$(get_init_file "/etc/default" $servid)
if [ $? == 1 ]
then
    usage
    echo "You must supply a valid server instance identifier.  Use -Z to specify instance name"
    echo "Available instances: $initfile"
    exit 1
fi

servid=`normalize_server_id $initfile`
. $initfile

echo saving configuration...
conf_ldif=/var/lib/dirsrv/slapd-$servid/bak/$servid-`date +%Y_%m_%d_%H%M%S`.ldif
/usr/sbin/ns-slapd db2ldif -N -D $CONFIG_DIR -s "o=NetscapeRoot" -a $conf_ldif -n NetscapeRoot 2>&1
if [ "$?" -ge 1 ] 
then
    echo Error occurred while saving configuration
    exit 1
fi
exit 0
