ปกติแล้ววิธีการ backup file ของ ldap ปกติผมจะใช้ ldapcat ครับผม ง่ายและรวดเร็วดี
แต่ service slapd หรือ ldapd ต้องทำงานอยู่นะครับ
#slapcat > ldif_file.ldif
ต่อมาถ้าจะทำการ add ค่าลงระบบ ldap database โดยผ่าน command ldapadd ปกติผมจะใช้เขียน script เอาครับ
### สำหรับ sh ครับ ใช้กับพวก BSD
##### Begin of script ######
#!/bin/sh
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin
export PATH
##LDAP ADD Script
dateX=`date "+%Y%m%d"`
LDIFP="/home/golf/add_user"
SRC="news_mail_ldif_local_20100401.txt"
LDIF="/home/golf/add_user/ldif_local_20100401.ldif"
LDAPPASS="ปิดปิดปิด"
BASE="o=hosting,dc=xxx,dc=net,dc=xx"
BINDDN="cn=Directory admin,dc=xxx,dc=net,dc=xx"
HOST="ldap00.xxx.net.xx"
##Keep log for checking
ldapadd -h $HOST -D "$BINDDN" -w "$LDAPPASS" -a -f $LDIF > ${LDIFP}${SRC}
##Count account for adding process
CHECK_USER=`less ${LDIFP}/${SRC} | grep 'o=hosting' | wc -l`
echo "All user = ${CHECK_USER}"
##### End of script ######
Bash Shell ใช้กับพวกตระกูล Linux ครับผม
##### Begin of script ######
#!/bin/bash
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin
export PATH
##LDAP ADD Script
dateX=`date "+%Y%m%d"`
LDIFP="/home/golf/add_user"
SRC="news_mail_ldif_local_20100401.txt"
LDIF="/home/golf/add_user/ldif_local_20100401.ldif"
LDAPPASS="ปิดปิดปิด"
BASE="o=hosting,dc=xxx,dc=net,dc=xx"
BINDDN="cn=Directory admin,dc=xxx,dc=net,dc=xx"
HOST="ldap00.xxx.net.xx"
##Keep log for checking
ldapadd -h $HOST -D "$BINDDN" -w "$LDAPPASS" -x -f $LDIF > ${LDIFP}${SRC}
##Count account for adding process
CHECK_USER=`less ${LDIFP}/${SRC} | grep 'o=hosting' | wc -l`
echo "All user = ${CHECK_USER}"
##### End of script ######
ลองดูนะครับผม อิอิ