Newer
Older
ldap / src / ldap-allclear.sh
#!/bin/bash
########################################################################
## Script    : ldap-allclear.sh
## Name      : LDAP のデータを全て削除して初期化します。
## Version   : 0.0.1
## Copyright : 2019  Nomura Kei
## License   : BSD-2-Clause
## Usage:
## |使用法) ldap-allclear.sh [オプション]
## |
## | LDAP のデータを全て削除して、初期化します。
## |
## |[オプション]
## |  -y             問い合わせに対して全て Yes で答えます。
## |  -h,--help      使用法を表示します。
## |  -v,--version   バージョンを表示します。
## |
##
########################################################################
SCRIPT_FILE=${0}
SCRIPT_DIR=`dirname ${SCRIPT_FILE}`
LIB_DIR=${SCRIPT_DIR}/../lib


########################################################################
##
## ライブラリのロード
##
[ -f "${LIB_DIR}/functions.sh" ] && . ${LIB_DIR}/bash-utils.sh



########################################################################
##
## デフォルト値
##
NO_CONFIRM=n



########################################################################
##
## メイン処理
##
for OPT in "$@"; do
	case "${OPT}" in
		'-y')				NO_CONFIRM=y;					shift 1	;;
		'-h'|'--help')		usage;							exit 1	;;
		'-v'|'--version')	version;						exit 1	;;
		-*)
			usage
			exit 1
			;;
		*)
			if [[ ! -z "$1" ]] && [[ ! "$1" =~ ^-+ ]]; then
				LOG_LEVEL=("$1")
				shift 1
			fi
			;;
	esac
done



confirm "Remove all LDAP data. Is it OK?" n
if [ $? -eq 1 ]; then
	service slapd stop
	rm -rf /etc/ldap/slapd.d/*
	rm -rf /var/lib/ldap/*
	if [ "${NO_CONFIRM}" = "y" ]; then
		echo "Removed All LDAP data."
		echo "Run the following command as root:"
		echo "dpkg-reconfigure slapd"
		echo "service slapd start"
	else
		dpkg-reconfigure slapd
		service slapd start
	fi
fi