#!/bin/sh source @datadir@/@package_name@/data/DSSharedLib libpath_add "@libdir@/@package_name@/" libpath_add "@nss_libdir@" libpath_add "@libdir@" libpath_add "@pcre_libdir@" export LD_LIBRARY_PATH SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH usage() { echo "Usage: ldif2db [-Z serverID] -n backendname {-s includesuffix}* [{-x excludesuffix}*] {-i ldiffile}*" echo " [-c chunksize] [-g [string]] [-G namespace_id] [-O] [-E] [-q] [-v] [-h]" echo "Note: either \"-n backend\", \"-s includesuffix\", and \"-i ldiffile\" are required." echo "Options:" echo " -Z serverID - The server instance identifier" echo " -n backend - Backend database name. Example: userRoot" echo " -s inclduesuffix - Suffix to include" echo " -x excludesuffix - Suffix to exclude" echo " -i ldiffile - LDIF file name" echo " -c chunksize - Number of entries to process before starting a new pass" echo " -g [string] - String is \"none\" or \"deterministic\"" echo " \"none\" - unique id is not generated" echo " \"deterministic\" - generate name based unique id (-G name)" echo " By default - generate time based unique id" echo " -G name - Namespace id for name based uniqueid (-g deterministic)" echo " -O - Do not index the attributes" echo " -E - Encrypt attributes" echo " -q - Quiet mode - suppresses output" echo " -v - Verbose output" echo " -h - Display usage" } handleopts() { while [ "$1" != "" ] do if [ "$1" = "-q" ]; then return 1 elif [ "$1" = "-Z" ]; then shift servid=$1 elif [ "$1" = "-h" ]; then usage exit 0 fi shift done return 0 } while getopts "Z:vhd:i:g:G:n:s:x:NOCc:St:D:Eq" flag do case $flag in h) usage exit 0;; Z) servid=$OPTARG;; n) args=$args" -n $OPTARG";; i) args=$args" -i $OPTARG";; s) args=$args" -s $OPTARG";; x) args=$args" -x $OPTARG";; c) args=$args" -c $OPTARG";; d) args=$args" -d $OPTARG";; g) args=$args" -g $OPTARG";; G) args=$args" -G $OPTARG";; t) args=$args" -t $OPTARG";; D) args=$args" -D $OPTARG";; E) args=$args" -E";; v) args=$args" -v";; N) args=$args" -N";; C) args=$args" -C";; S) args=$args" -S";; O) args=$args" -O";; q) args=$args" -q";; ?) usage exit 1;; esac done initfile=$(get_init_file "@initconfigdir@" $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 . $initfile if [ $# -lt 4 ] then usage exit 1 fi handleopts $@ quiet=$? if [ $quiet -eq 0 ]; then echo importing data ... fi @sbindir@/ns-slapd ldif2db -D $CONFIG_DIR $args 2>&1 exit $?