mirror of
https://github.com/openappsec/openappsec.git
synced 2025-06-28 16:41:02 +03:00
131 lines
3.9 KiB
Bash
Executable File
131 lines
3.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
FORCE_STDOUT=true
|
|
INSTALLATION_LOG_FILE="/var/log/nano_agent/install-cp-nano-agent-cache.log"
|
|
INSTALLATION_TIME=$(date)
|
|
CONF_PATH=/etc/cp/conf
|
|
CACHE_SERVICE_PATH=/etc/cp/agentCache
|
|
WATCHDOG_PATH=/etc/cp/watchdog/cp-nano-watchdog
|
|
USR_LIB_PATH="/usr/lib"
|
|
|
|
export INSTALL_COMMAND
|
|
is_install="$(command -v install)"
|
|
if [ -z ${is_install} ]; then
|
|
INSTALL_COMMAND="cp -f"
|
|
cp_print "[WARNING]: install command not found - using cp instead" ${FORCE_STDOUT}
|
|
else
|
|
INSTALL_COMMAND=install
|
|
fi
|
|
|
|
mkdir -p /var/log/nano_agent
|
|
|
|
cp_print()
|
|
{
|
|
var_text=$1
|
|
var_std_out=$2
|
|
touch $INSTALLATION_LOG_FILE
|
|
if [ -n "$var_std_out" ]; then
|
|
if [ "$var_std_out" = "true" ]; then
|
|
printf "%b\n" "$var_text"
|
|
fi
|
|
fi
|
|
printf "%b\n" "$var_text" >> $INSTALLATION_LOG_FILE
|
|
}
|
|
|
|
cp_exec()
|
|
{
|
|
var_cmd=$1
|
|
var_std_out=$2
|
|
# Send exec output to RES
|
|
RES=$($var_cmd 2>&1)
|
|
if [ -n "$RES" ]; then
|
|
cp_print "$RES" "$var_std_out"
|
|
fi
|
|
}
|
|
|
|
run_installation()
|
|
{
|
|
cp_print "Starting installation of Check Point Cache service [$INSTALLATION_TIME]\n" $FORCE_STDOUT
|
|
cp_exec "${WATCHDOG_PATH} --un-register ${CACHE_SERVICE_PATH}/cp-nano-agent-cache"
|
|
cp_exec "mkdir -p ${CACHE_SERVICE_PATH}"
|
|
cp_exec "mkdir -p ${USR_LIB_PATH}/cpnano"
|
|
cp_exec "cp -rf lib/* ${USR_LIB_PATH}/cpnano"
|
|
cp_exec "cp -rf bin/redis-server ${CACHE_SERVICE_PATH}/"
|
|
cp_exec "cp -rf bin/redis-cli ${CACHE_SERVICE_PATH}/"
|
|
cp_exec "cp -f redis.conf ${CONF_PATH}/redis.conf"
|
|
cp_exec "cp -f cp-nano-agent-cache.cfg ${CACHE_SERVICE_PATH}/cp-nano-agent-cache.cfg"
|
|
cp_exec "mv ${CACHE_SERVICE_PATH}/redis-server ${CACHE_SERVICE_PATH}/cp-nano-agent-cache"
|
|
cp_exec "mv ${CACHE_SERVICE_PATH}/redis-cli ${CACHE_SERVICE_PATH}/cp-nano-cache-cli"
|
|
cp_exec "chmod +x ${CACHE_SERVICE_PATH}/cp-nano-agent-cache"
|
|
cp_exec "chmod +x ${CACHE_SERVICE_PATH}/cp-nano-cache-cli"
|
|
cp_exec "chmod 600 ${CACHE_SERVICE_PATH}/cp-nano-agent-cache.cfg"
|
|
|
|
cp_exec "${WATCHDOG_PATH} --register ${CACHE_SERVICE_PATH}/cp-nano-agent-cache"
|
|
cp_print "Installation completed successfully." $FORCE_STDOUT
|
|
}
|
|
|
|
usage()
|
|
{
|
|
echo "Check Point: available flags are"
|
|
echo "--install : install agent inteligence Service"
|
|
echo "--uninstall : remove agent inteligenceService"
|
|
echo "--pre_install_test : run Pre-installation test for agent inteligence Service install package"
|
|
echo "--post_install_test : run Post-installation test for agent inteligence Service install package"
|
|
exit 255
|
|
}
|
|
|
|
run_uninstall()
|
|
{
|
|
cp_print "Starting uninstall of Check Point Cache service [$INSTALLATION_TIME]\n" $FORCE_STDOUT
|
|
|
|
cp_exec "${WATCHDOG_PATH} --un-register ${CACHE_SERVICE_PATH}/cp-nano-agent-cache"
|
|
cp_exec "rm -rf ${CACHE_SERVICE_PATH}/"
|
|
cp_exec "rm -rf ${CONF_PATH}/redis.conf"
|
|
|
|
cp_print "Check Point Cache service was removed successfully\n" $FORCE_STDOUT
|
|
}
|
|
|
|
run_pre_install_test()
|
|
{
|
|
cp_print "Successfully finished pre-installation test for Check Point Cache service installation package [$INSTALLATION_TIME]\n" $FORCE_STDOUT
|
|
exit 0
|
|
}
|
|
|
|
run_post_install_test()
|
|
{
|
|
if [ ! -d ${CACHE_SERVICE_PATH} ]; then
|
|
cp_print "Failed post-installation test for Check Point Cache service installation package [$INSTALLATION_TIME]\n" $FORCE_STDOUT
|
|
exit 1
|
|
fi
|
|
|
|
cp_print "Successfully finished post-installation test for Check Point Cache service installation package [$INSTALLATION_TIME]\n" $FORCE_STDOUT
|
|
exit 0
|
|
}
|
|
|
|
|
|
run()
|
|
{
|
|
if [ '--install' = "$1" ]; then
|
|
run_installation "${@}"
|
|
elif [ '--uninstall' = "$1" ]; then
|
|
run_uninstall
|
|
elif [ '--pre_install_test' = "$1" ]; then
|
|
run_pre_install_test
|
|
elif [ '--post_install_test' = "$1" ]; then
|
|
run_post_install_test
|
|
else
|
|
usage
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
echo "Administrative privileges required for this Package (use su or sudo)"
|
|
exit 1
|
|
fi
|
|
|
|
shift
|
|
run "${@}"
|
|
|
|
exit 0
|