244 lines
5.9 KiB
Bash
244 lines
5.9 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
#################################################
|
||
|
##Functions and vars for actions results printing
|
||
|
#################################################
|
||
|
|
||
|
RES_COL=80
|
||
|
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
|
||
|
SETCOLOR_INFO="echo -en \\033[1;38m"
|
||
|
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
|
||
|
SETCOLOR_FAILURE="echo -en \\033[1;31m"
|
||
|
SETCOLOR_NORMAL="echo -en \\033[0;39m"
|
||
|
SETCOLOR_WARNING="echo -en \\033[1;33m"
|
||
|
|
||
|
function echo_success() {
|
||
|
echo -n "$1"
|
||
|
$MOVE_TO_COL
|
||
|
$SETCOLOR_SUCCESS
|
||
|
echo -n "$2"
|
||
|
$SETCOLOR_NORMAL
|
||
|
echo -e "\r"
|
||
|
echo ""
|
||
|
}
|
||
|
|
||
|
function echo_failure() {
|
||
|
echo -n "$1"
|
||
|
$MOVE_TO_COL
|
||
|
$SETCOLOR_FAILURE
|
||
|
echo -n "$2"
|
||
|
$SETCOLOR_NORMAL
|
||
|
echo -e "\r"
|
||
|
echo ""
|
||
|
}
|
||
|
|
||
|
function echo_passed() {
|
||
|
echo -n "$1"
|
||
|
$MOVE_TO_COL
|
||
|
$SETCOLOR_WARNING
|
||
|
echo -n "$2"
|
||
|
$SETCOLOR_NORMAL
|
||
|
echo -e "\r"
|
||
|
echo ""
|
||
|
}
|
||
|
|
||
|
##################
|
||
|
##Static variables
|
||
|
##################
|
||
|
|
||
|
INIT_FOLDER="init-script/"
|
||
|
INIT_FILE="centreon-as400.service"
|
||
|
SYSCONFIG_FILE="centreon-as400-sysconfig"
|
||
|
|
||
|
CONNECTOR_VERSION=2.0.0
|
||
|
CONNECTOR_HOME="/usr/share/centreon-as400/"
|
||
|
CONNECTOR_LOG="/var/log/centreon-as400/"
|
||
|
CONNECTOR_ETC="/etc/centreon-as400/"
|
||
|
LOG_ETC_FILE="log4j.xml"
|
||
|
|
||
|
CONNECTOR_USER="centreon-as400"
|
||
|
CONNECTOR_GROUP="centreon-as400"
|
||
|
|
||
|
JAVA_BIN=""
|
||
|
|
||
|
ETC_PASSWD="/etc/passwd"
|
||
|
ETC_GROUP="/etc/group"
|
||
|
ETC_INITD="/etc/systemd/system/"
|
||
|
ETC_SYSCONFIG="/etc/sysconfig/"
|
||
|
|
||
|
######
|
||
|
##INIT
|
||
|
######
|
||
|
|
||
|
$SETCOLOR_WARNING
|
||
|
echo "Starting setup..."
|
||
|
$SETCOLOR_NORMAL
|
||
|
echo ""
|
||
|
|
||
|
##############################
|
||
|
##Getting modules install path
|
||
|
##############################
|
||
|
DONE="no"
|
||
|
CREATE_HOME="no"
|
||
|
temp_folder="$CONNECTOR_HOME"
|
||
|
while [ "$DONE" = "no" ]; do
|
||
|
echo "Centreon AS400 home Directory [$CONNECTOR_HOME]? "
|
||
|
echo -n ">"
|
||
|
read temp_folder
|
||
|
if [ -z "$temp_folder" ]; then
|
||
|
temp_folder="$CONNECTOR_HOME"
|
||
|
fi
|
||
|
temp_folder=`echo "$temp_folder" | sed "s/$/\//"`
|
||
|
|
||
|
if [ -d "$temp_folder" ]; then
|
||
|
DONE="yes"
|
||
|
else
|
||
|
echo_failure "$temp does not exists" "CRITICAL"
|
||
|
echo "Specified path does not exists, do you want to create it ?[Y/n]"
|
||
|
echo -n ">"
|
||
|
read temp
|
||
|
if [ -z "$temp" ]; then
|
||
|
temp="Y"
|
||
|
fi
|
||
|
while [ "$temp" != "Y" ] && [ "$temp" != "y" ] && [ "$temp" != "n" ] && [ "$temp" != "N" ]; do
|
||
|
echo "Specified path does not exists, do you want to create it ?[Y/n]"
|
||
|
echo -n ">"
|
||
|
read temp
|
||
|
if [ -z "$temp" ]; then
|
||
|
temp="Y"
|
||
|
fi
|
||
|
done
|
||
|
if [ "$temp" = "Y" ] || [ "$temp" = "y" ]; then
|
||
|
DONE="yes"
|
||
|
CREATE_HOME="yes"
|
||
|
fi
|
||
|
fi
|
||
|
done
|
||
|
temp_folder=$(echo $temp_folder | sed "s/\/\/$/\//")
|
||
|
CONNECTOR_HOME=${temp_folder}
|
||
|
echo_success "Centreon AS400 home directory" "$CONNECTOR_HOME"
|
||
|
|
||
|
#############################
|
||
|
##Getting java home directory
|
||
|
#############################
|
||
|
|
||
|
JAVA_HOME="/usr/"
|
||
|
temp=$JAVA_HOME
|
||
|
while [ ! -x "$temp/bin/java" ]; do
|
||
|
echo_failure "Cannot find java binary" "FAILURE"
|
||
|
echo "Java home directory?"
|
||
|
echo -n ">"
|
||
|
read temp
|
||
|
if [ -z "$temp" ]; then
|
||
|
temp="$JAVA_HOME"
|
||
|
fi
|
||
|
done
|
||
|
temp=`echo "$temp" | sed "s/$/\//"`
|
||
|
JAVA_BIN=`echo $temp | sed "s/\/\/$/\//"`"bin/java"
|
||
|
echo_success "Java bin path :" "$JAVA_BIN"
|
||
|
|
||
|
###################
|
||
|
# CONNECTOR INIT SCRIPT
|
||
|
###################
|
||
|
|
||
|
echo "Do you want to install AS400 systemd script [y/N]?"
|
||
|
echo -n ">"
|
||
|
read response
|
||
|
if [ -z "$response" ]; then
|
||
|
response="N"
|
||
|
fi
|
||
|
while [ "$response" != "Y" ] && [ "$response" != "y" ] && [ "$response" != "N" ] && [ "$response" != "n" ]; do
|
||
|
echo "Do you want to install AS400 systemd script [y/N]?"
|
||
|
echo -n ">"
|
||
|
read response
|
||
|
if [ -z "$response" ]; then
|
||
|
response="N"
|
||
|
fi
|
||
|
done
|
||
|
INSTALL_CONNECTOR_INIT=$response
|
||
|
echo_success "CONNECTOR systemd script :" "$ETC_INITD/$INIT_FILE"
|
||
|
|
||
|
########################
|
||
|
## Centreon BI user and Group
|
||
|
########################
|
||
|
exists=`cat $ETC_PASSWD | grep "^$CONNECTOR_USER:"`
|
||
|
if [ -z "$exists" ]; then
|
||
|
useradd -m $CONNECTOR_USER -d $CONNECTOR_HOME
|
||
|
fi
|
||
|
echo_success "CONNECTOR run user :" "$CONNECTOR_USER"
|
||
|
|
||
|
exists=`cat $ETC_GROUP | grep "^$CONNECTOR_GROUP:"`
|
||
|
if [ -z "$exists" ]; then
|
||
|
groupadd $CONNECTOR_GROUP
|
||
|
fi
|
||
|
echo_success "CONNECTOR run group :" "$CONNECTOR_GROUP"
|
||
|
|
||
|
#######################
|
||
|
# DEPLOYING CENTREON BI
|
||
|
#######################
|
||
|
echo ""
|
||
|
echo_success "Creating directories and moving binaries..." "OK"
|
||
|
if [ ! -d "${CONNECTOR_HOME}" ]; then
|
||
|
mkdir -p $CONNECTOR_HOME
|
||
|
fi
|
||
|
if [ ! -d "${CONNECTOR_HOME}/bin" ]; then
|
||
|
mkdir ${CONNECTOR_HOME}/bin
|
||
|
fi
|
||
|
|
||
|
if [ -d bin/ ] ; then
|
||
|
cp -f bin/*.jar ${CONNECTOR_HOME}/bin/
|
||
|
fi
|
||
|
|
||
|
if [ ! -d "${CONNECTOR_LOG}" ]; then
|
||
|
mkdir -p ${CONNECTOR_LOG}
|
||
|
fi
|
||
|
if [ ! -d "${CONNECTOR_ETC}" ]; then
|
||
|
mkdir -p ${CONNECTOR_ETC}
|
||
|
fi
|
||
|
|
||
|
cp etc/log4j.xml ${CONNECTOR_ETC}
|
||
|
cp etc/config.properties ${CONNECTOR_ETC}
|
||
|
|
||
|
###################
|
||
|
##Macro replacement
|
||
|
###################
|
||
|
|
||
|
ETC_FILE=${CONNECTOR_ETC}${CONNECTOR_ETC_FILE}
|
||
|
|
||
|
if [ "$INSTALL_CONNECTOR_INIT" = "y" ] || [ "$INSTALL_CONNECTOR_INIT" = "Y" ]; then
|
||
|
echo_success "Copying CONNECTOR init script..." "OK"
|
||
|
sed -e 's|@JAVA_BIN@|'"$JAVA_BIN"'|g' \
|
||
|
$INIT_FOLDER/$INIT_FILE > $ETC_INITD/$INIT_FILE
|
||
|
chmod 644 $ETC_INITD/$INIT_FILE
|
||
|
sed -e 's|@CONNECTOR_HOME@|'"$CONNECTOR_HOME"'|g' \
|
||
|
-e 's|@JAVA_BIN@|'"$JAVA_BIN"'|g' \
|
||
|
-e 's|@CONNECTOR_USER@|'"$CONNECTOR_USER"'|g' \
|
||
|
-e 's|@CONNECTOR_ETC@|'"${CONNECTOR_ETC}"'|g' \
|
||
|
-e 's|@CONNECTOR_LOG@|'"${CONNECTOR_LOG}"'|g' \
|
||
|
-e 's|@CONNECTOR_VERSION@|'"${CONNECTOR_VERSION}"'|g' \
|
||
|
$INIT_FOLDER/$SYSCONFIG_FILE > $ETC_SYSCONFIG/centreon-as400
|
||
|
fi
|
||
|
echo_success "Deploying Centreon-AS400..." "OK"
|
||
|
|
||
|
###################################################
|
||
|
##Rights settings on install directory and binaries
|
||
|
###################################################
|
||
|
|
||
|
chown -R $CONNECTOR_USER.$CONNECTOR_GROUP $CONNECTOR_HOME
|
||
|
chown -R $CONNECTOR_USER.$CONNECTOR_GROUP $CONNECTOR_LOG
|
||
|
chown -R $CONNECTOR_USER.$CONNECTOR_GROUP $CONNECTOR_ETC
|
||
|
chmod -R 775 $CONNECTOR_HOME
|
||
|
|
||
|
echo_success "Rights settings..." "OK"
|
||
|
|
||
|
systemctl enable $INIT_FILE
|
||
|
|
||
|
#########
|
||
|
# THE END
|
||
|
#########
|
||
|
|
||
|
echo ""
|
||
|
$SETCOLOR_WARNING
|
||
|
echo "Setup finished."
|
||
|
echo ""
|