File: ldif2db.in

package info (click to toggle)
389-ds-base 1.4.0.21-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 50,776 kB
  • sloc: ansic: 303,582; python: 59,673; cpp: 10,380; perl: 5,807; sh: 2,654; makefile: 2,457; yacc: 806; xml: 376; lex: 366; java: 50
file content (120 lines) | stat: -rwxr-xr-x 3,478 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/bash

. @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] [-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 "        -v                - Display version"
    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:EqV" 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";;
        V) args=$args" -V";;
        ?) usage
           exit 1;;
    esac
done

if [ $# -lt 4 ]
then
    usage
    exit 1
fi

ARGS=$@
shift $(($OPTIND - 1))
if [ $1 ]
then
    echo "ERROR - Unknown option: $1"
    usage
    exit 1
fi

initfile=$(get_init_file "@initconfigdir@" $servid)
if [ $? -eq 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

handleopts $ARGS
quiet=$?
if [ $quiet -eq 0 ]; then
    echo importing data ...
fi

eval @sbindir@/ns-slapd ldif2db -D $CONFIG_DIR $args 2>&1

exit $?