|
|
@@ -1,31 +1,24 @@
|
|
|
#!/bin/sh
|
|
|
|
|
|
-libpath_add() {
|
|
|
- [ -z "$1" ] && return
|
|
|
- LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1
|
|
|
-}
|
|
|
-
|
|
|
-server_dir="@libdir@/dirsrv/"
|
|
|
-SCRIPT=$(readlink -f $0)
|
|
|
-SCRIPTPATH=$(dirname $SCRIPT)
|
|
|
-if [ $SCRIPTPATH == "/usr/sbin" ]
|
|
|
-then
|
|
|
- prefix=`echo "$SCRIPTPATH" | sed -e 's/\/usr\/sbin//'`
|
|
|
- server_sbin="/usr/sbin"
|
|
|
-else
|
|
|
- prefix=`echo "$SCRIPTPATH" | sed -e 's/\/sbin//'`
|
|
|
- server_sbin=$prefix"/sbin"
|
|
|
-fi
|
|
|
+source ./DSSharedLib
|
|
|
|
|
|
-libpath_add "$server_dir"
|
|
|
-libpath_add "$prefix@nss_libdir@"
|
|
|
-libpath_add "$prefix@libdir@"
|
|
|
-libpath_add "$prefix@pcre_libdir@"
|
|
|
+libpath_add "@libdir@/dirsrv/"
|
|
|
+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: db2ldif [-Z serverID] {-n backend_instance}* | {-s includesuffix}*"
|
|
|
+ echo " [{-x excludesuffix}*] [-a outputfile]"
|
|
|
+ echo " [-N] [-r] [-C] [-u] [-U] [-m] [-M] [-1] [-q]"
|
|
|
+ echo "Note: either \"-n backend_instance\" or \"-s includesuffix\" is required."
|
|
|
+}
|
|
|
+
|
|
|
make_ldiffile()
|
|
|
{
|
|
|
be=""
|
|
|
@@ -64,33 +57,24 @@ make_ldiffile()
|
|
|
done
|
|
|
|
|
|
if [ "$be" = "" ]; then
|
|
|
- echo $prefix/var/lib/dirsrv/slapd-$servid/ldif/$servid-`date +%Y_%m_%d_%H%M%S`.ldif
|
|
|
+ echo @localstatedir@/lib/@PACKAGE_NAME@/slapd-$servid/ldif/$servid-`date +%Y_%m_%d_%H%M%S`.ldif
|
|
|
else
|
|
|
- echo $prefix/var/lib/dirsrv/slapd-$servid/ldif/$servid-${be}-`date +%Y_%m_%d_%H%M%S`.ldif
|
|
|
+ echo @localstatedir@/lib/@PACKAGE_NAME@/slapd-$servid/ldif/$servid-${be}-`date +%Y_%m_%d_%H%M%S`.ldif
|
|
|
fi
|
|
|
return 0
|
|
|
}
|
|
|
|
|
|
-cd $server_sbin
|
|
|
if [ "$#" -lt 2 ];
|
|
|
then
|
|
|
- echo "Usage: db2ldif [-Z serverID] {-n backend_instance}* | {-s includesuffix}*"
|
|
|
- echo " [{-x excludesuffix}*] [-a outputfile]"
|
|
|
- echo " [-N] [-r] [-C] [-u] [-U] [-m] [-M] [-1] [-q]"
|
|
|
- echo "Note: either \"-n backend_instance\" or \"-s includesuffix\" is required."
|
|
|
+ usage
|
|
|
exit 1
|
|
|
fi
|
|
|
-
|
|
|
-first="yes"
|
|
|
-args=""
|
|
|
+
|
|
|
while getopts "hZ:n:s:x:a:NrCuUmM1qvd:D:ESt:o" flag
|
|
|
do
|
|
|
case $flag in
|
|
|
- h) echo "Usage: db2ldif [-Z serverID] {-n backend_instance}* | {-s includesuffix}*"
|
|
|
- echo " [{-x excludesuffix}*] [-a outputfile]"
|
|
|
- echo " [-N] [-r] [-C] [-u] [-U] [-m] [-M] [-1] [-q]"
|
|
|
- echo "Note: either \"-n backend_instance\" or \"-s includesuffix\" is required."
|
|
|
- exit 0;;
|
|
|
+ h) usage
|
|
|
+ exit 0;;
|
|
|
Z) servid=$OPTARG;;
|
|
|
n) benameopt="-n $OPTARG"
|
|
|
required_param="yes";;
|
|
|
@@ -113,78 +97,35 @@ do
|
|
|
M) args=$args" -M";;
|
|
|
1) args=$args" -1";;
|
|
|
q) args=$args" -q";;
|
|
|
- ?) echo "Usage: db2ldif [-Z serverID] {-n backend_instance}* | {-s includesuffix}*"
|
|
|
- echo " [{-x excludesuffix}*] [-a outputfile]"
|
|
|
- echo " [-N] [-r] [-C] [-u] [-U] [-m] [-M] [-1] [-q]"
|
|
|
- echo "Note: either \"-n backend_instance\" or \"-s includesuffix\" is required."
|
|
|
- exit 1;;
|
|
|
+ ?) usage
|
|
|
+ exit 1;;
|
|
|
esac
|
|
|
done
|
|
|
|
|
|
if [ "$required_param" != "yes" ]
|
|
|
then
|
|
|
- echo "Usage: db2ldif [-Z serverID] {-n backend_instance}* | {-s includesuffix}*"
|
|
|
- echo " [{-x excludesuffix}*] [-a outputfile]"
|
|
|
- echo " [-N] [-r] [-C] [-u] [-U] [-m] [-M] [-1] [-q]"
|
|
|
- echo "Note: either \"-n backend_instance\" or \"-s includesuffix\" is required."
|
|
|
+ usage
|
|
|
exit 1
|
|
|
fi
|
|
|
|
|
|
-# server id not provided, check if there is only one instance
|
|
|
-inst_count=0
|
|
|
-for i in `ls $prefix/etc/sysconfig/dirsrv-* 2>/dev/null`
|
|
|
-do
|
|
|
- if [ $i != '$prefix/etc/sysconfig/dirsrv-admin' ]
|
|
|
- then
|
|
|
- inst_count=`expr $inst_count + 1`
|
|
|
- id=$(expr "$i" : ".*dirsrv-\([^)]*\).*")
|
|
|
- if [ $first == "yes" ]
|
|
|
- then
|
|
|
- instances=$id
|
|
|
- first="no"
|
|
|
- else
|
|
|
- instances=$instances", $id"
|
|
|
- fi
|
|
|
- name=$id
|
|
|
- fi
|
|
|
-done
|
|
|
-
|
|
|
-if [ -z $servid ]
|
|
|
-then
|
|
|
- if [ $inst_count -eq 1 ]
|
|
|
- then
|
|
|
- servid=$name
|
|
|
- else
|
|
|
- # error
|
|
|
- echo "Usage: db2ldif [-Z serverID] {-n backend_instance}* | {-s includesuffix}*"
|
|
|
- echo " [{-x excludesuffix}*] [-a outputfile]"
|
|
|
- echo " [-N] [-r] [-C] [-u] [-U] [-m] [-M] [-1] [-q]"
|
|
|
- echo "You must supply a server instance identifier. Use -Z to specify instance name"
|
|
|
- echo "Available instances: $instances"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
-elif [ $servid == slapd-* ]
|
|
|
+servid=$(get_server_id "@initconfigdir@" $servid)
|
|
|
+if [ $? == 1 ]
|
|
|
then
|
|
|
- servid=`echo "$servid" | sed -e 's/slapd-//'`
|
|
|
-elif [ $servid == dirsrv-* ]
|
|
|
-then
|
|
|
- servid=`echo "$servid" | sed -e 's/dirsrv-//'`
|
|
|
-fi
|
|
|
-configdir="$prefix/etc/dirsrv/slapd-$servid"
|
|
|
-if ! [ -a $configdir ]
|
|
|
-then
|
|
|
- echo "Invalid server identifier: $servid"
|
|
|
- echo "Available instances: $instances"
|
|
|
+ usage
|
|
|
+ echo "You must supply a valid server instance identifier. Use -Z to specify instance name"
|
|
|
+ echo "Available instances: $servid"
|
|
|
exit 1
|
|
|
fi
|
|
|
|
|
|
+configdir="@instconfigdir@/slapd-$servid"
|
|
|
+
|
|
|
ldif_file=`make_ldiffile $@`
|
|
|
rn=$?
|
|
|
|
|
|
echo "Exported ldif file: $ldif_file"
|
|
|
if [ $rn -eq 1 ]
|
|
|
then
|
|
|
-./ns-slapd db2ldif -D $configdir $benameopt $includeSuffix $excludeSuffix $outputFile $args
|
|
|
+ @sbindir@/ns-slapd db2ldif -D $configdir $benameopt $includeSuffix $excludeSuffix $outputFile $args
|
|
|
else
|
|
|
-./ns-slapd db2ldif -D $configdir $benameopt $includeSuffix $excludeSuffix -a $ldif_file $args
|
|
|
+ @sbindir@/ns-slapd db2ldif -D $configdir $benameopt $includeSuffix $excludeSuffix -a $ldif_file $args
|
|
|
fi
|