2007-04-19 20:37:57 +02:00
|
|
|
#!/bin/bash
|
|
|
|
# **********************************************************************
|
|
|
|
# Pandora FMS Agent - Generic Host Agent Installer
|
|
|
|
# GNU/Linux version
|
|
|
|
# (c) 2007 Sancho Lerena <slerena@gmail.com>
|
|
|
|
# Please see http://pandora.sourceforge.net
|
2007-04-21 22:05:35 +02:00
|
|
|
# This code is licensed under GPL 2.0 license.
|
2007-04-19 20:37:57 +02:00
|
|
|
# **********************************************************************
|
|
|
|
|
2009-04-02 21:22:05 +02:00
|
|
|
PI_VERSION=2.1
|
2007-04-19 20:37:57 +02:00
|
|
|
PANDORA_BIN=/usr/bin/pandora_agent
|
2007-06-12 11:32:54 +02:00
|
|
|
PANDORA_HOME=/usr/share/pandora_agent
|
2007-04-19 20:37:57 +02:00
|
|
|
PANDORA_TEMP=/var/spool/pandora
|
|
|
|
PANDORA_CFG=/etc/pandora
|
2007-08-23 18:05:21 +02:00
|
|
|
PANDORA_LOG=/var/log/pandora/pandora_agent.log
|
2007-04-19 20:37:57 +02:00
|
|
|
PANDORA_STARTUP=/etc/init.d/pandora_agent_daemon
|
2009-04-02 21:22:05 +02:00
|
|
|
TENTACLE=/usr/bin/tentacle_client
|
|
|
|
|
2007-04-19 20:37:57 +02:00
|
|
|
FORCE=0
|
|
|
|
LOG_TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"`
|
|
|
|
|
|
|
|
MODE=$1
|
|
|
|
|
|
|
|
if [ ! -f "pandora_agent" ]
|
|
|
|
then
|
|
|
|
echo " "
|
|
|
|
echo "You need to place pandora_agent file on main distribution directory before install"
|
|
|
|
echo " "
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
uninstall () {
|
|
|
|
echo "Removing Pandora FMS Agent..."
|
|
|
|
rm -Rf $PANDORA_BIN
|
|
|
|
rm -Rf $PANDORA_TEMP
|
|
|
|
rm -Rf $PANDORA_CFG
|
|
|
|
rm -Rf $PANDORA_STARTUP
|
|
|
|
rm -Rf $PANDORA_HOME
|
|
|
|
rm -Rf $PANDORA_LOG
|
2009-04-02 21:22:05 +02:00
|
|
|
rm -Rf $TENTACLE
|
2007-04-19 20:37:57 +02:00
|
|
|
echo "Done"
|
|
|
|
}
|
|
|
|
|
|
|
|
install () {
|
|
|
|
if [ -f $PANDORA_HOME ] && [ "$FORCE" = "0" ]
|
|
|
|
then
|
|
|
|
echo "Seems that default dir already exists. Please use --force to"
|
|
|
|
echo "force installer to install on $PANDORA_HOME"
|
|
|
|
exit
|
|
|
|
else
|
|
|
|
echo "Checking default dir $PANDORA_HOME..."
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -f $PANDORA_BIN ] && [ "$FORCE" = "0" ]
|
|
|
|
then
|
|
|
|
echo "Seems that $PANDORA_BIN already exists. Please use --force to"
|
|
|
|
echo "force installer to reinstall overwriting it"
|
|
|
|
exit
|
|
|
|
else
|
|
|
|
echo "Checking Pandora FMS Agent on $PANDORA_BIN...."
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Create directories
|
|
|
|
echo "Creating Pandora FMS Agent home directory at $PANDORA_HOME ..."
|
|
|
|
mkdir $PANDORA_HOME
|
|
|
|
mkdir $PANDORA_TEMP
|
|
|
|
mkdir $PANDORA_TEMP/data_out
|
|
|
|
mkdir $PANDORA_CFG
|
2007-08-23 18:05:21 +02:00
|
|
|
mkdir /var/log/pandora
|
2007-04-19 20:37:57 +02:00
|
|
|
|
|
|
|
# Create logfile
|
|
|
|
if [ ! -z "`touch $PANDORA_LOG`" ]
|
|
|
|
then
|
2007-04-21 22:05:35 +02:00
|
|
|
echo "Seems to be a problem generating logfile ($PANDORA_LOG) please check it";
|
2007-04-19 20:37:57 +02:00
|
|
|
else
|
|
|
|
echo "Creating logfile at $PANDORA_LOG..."
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "$LOG_TIMESTAMP Pandora FMS installer has created this file at startup" > $PANDORA_LOG
|
|
|
|
|
|
|
|
# Copying agent and securing it
|
|
|
|
echo "Copying Pandora FMS Agent to $PANDORA_BIN..."
|
|
|
|
cp pandora_agent $PANDORA_BIN
|
|
|
|
chmod 700 $PANDORA_BIN
|
2007-06-21 13:43:05 +02:00
|
|
|
|
2009-04-02 21:22:05 +02:00
|
|
|
echo "Copying Pandora FMS Agent contrib dir to $PANDORA_HOME/..."
|
2007-06-21 13:43:05 +02:00
|
|
|
cp pandora_agent_daemon $PANDORA_HOME
|
2007-04-21 22:05:35 +02:00
|
|
|
|
2007-04-19 20:37:57 +02:00
|
|
|
echo "Copying Pandora FMS Agent configuration file to $PANDORA_HOME/pandora_agent.conf..."
|
|
|
|
cp pandora_agent.conf $PANDORA_HOME
|
|
|
|
chmod 600 $PANDORA_HOME/pandora_agent.conf
|
2007-04-21 22:05:35 +02:00
|
|
|
|
2008-05-19 17:34:32 +02:00
|
|
|
echo "Copying Pandora FMS Agent plugins to $PANDORA_HOME/plugins..."
|
|
|
|
cp -r plugins $PANDORA_HOME
|
|
|
|
chmod -R 700 $PANDORA_HOME/plugins
|
2009-04-02 21:22:05 +02:00
|
|
|
|
|
|
|
echo "Copying tentacle client to $TENTACLE"
|
|
|
|
cp tentacle_client $TENTACLE
|
|
|
|
|
2008-05-19 17:34:32 +02:00
|
|
|
echo "Linking Pandora FMS Agent plugins directory to $PANDORA_CFG/plugins..."
|
|
|
|
ln -s $PANDORA_HOME/plugins $PANDORA_CFG
|
2007-04-19 20:37:57 +02:00
|
|
|
|
|
|
|
echo "Linking Pandora FMS Agent configuration to $PANDORA_CFG/pandora_agent.conf..."
|
|
|
|
ln -s $PANDORA_HOME/pandora_agent.conf $PANDORA_CFG
|
2007-04-21 22:05:35 +02:00
|
|
|
|
2007-04-19 20:37:57 +02:00
|
|
|
echo "Linking Pandora FMS Agent user configuration to $PANDORA_CFG/pandora_user.conf..."
|
|
|
|
ln -s $PANDORA_HOME/pandora_user.conf $PANDORA_CFG
|
|
|
|
|
|
|
|
echo "Setting secure permissions and ownership for all Pandora FMS Agent files..."
|
|
|
|
chown -R root $PANDORA_HOME
|
|
|
|
chmod -R 600 $PANDORA_TEMP/data_out
|
|
|
|
chmod 640 $PANDORA_LOG
|
|
|
|
chgrp 3 $PANDORA_LOG
|
2008-09-03 18:50:56 +02:00
|
|
|
|
|
|
|
echo "Linking start-up daemon script at $PANDORA_STARTUP";
|
2007-06-25 13:23:43 +02:00
|
|
|
cp pandora_agent_daemon $PANDORA_STARTUP
|
2008-09-03 18:50:56 +02:00
|
|
|
|
|
|
|
echo "Linking start-up daemon script to /etc/rc2.d";
|
|
|
|
ln -s /etc/init.d/pandora_agent_daemon /etc/rc2.d/S90pandora_agent
|
|
|
|
|
2007-04-19 20:37:57 +02:00
|
|
|
chown -R root $PANDORA_BIN
|
|
|
|
echo "Done."
|
|
|
|
echo " "
|
|
|
|
echo "You have your startup script ready at $PANDORA_STARTUP"
|
2009-04-02 21:22:05 +02:00
|
|
|
echo " "
|
|
|
|
echo "Tentacle is the default transfer mode"
|
2009-04-02 11:04:21 +02:00
|
|
|
echo "If you want to use SSH, firstly you need to copy your public SSH keys ($HOME/.ssh/id_dsa)"
|
2007-04-19 20:37:57 +02:00
|
|
|
echo "under /home/pandora/.ssh/authorized_keys on your Pandora FMS Server host"
|
|
|
|
echo "You also need to setup your $PANDORA_CFG/pandora_agent.conf config file"
|
|
|
|
echo " "
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
help () {
|
|
|
|
echo " --force-install To force installation if already installed on system "
|
|
|
|
echo " --install To install Pandora FMS Agent on this system"
|
|
|
|
echo " --uninstall To uninstall and remove Pandora FMS Agent on this System"
|
|
|
|
echo " "
|
|
|
|
}
|
|
|
|
|
|
|
|
# Script banner at start
|
|
|
|
echo " "
|
2009-04-02 21:22:05 +02:00
|
|
|
echo "Pandora FMS Agent Installer $PI_VERSION (c) 2009 ArticaST"
|
|
|
|
echo "This program is licensed under GPL2 Terms. http://pandorafms.com"
|
2007-04-19 20:37:57 +02:00
|
|
|
echo " "
|
|
|
|
|
|
|
|
case "$MODE" in
|
|
|
|
|
|
|
|
'--force-install')
|
|
|
|
FORCE=1
|
|
|
|
install
|
|
|
|
exit
|
|
|
|
;;
|
|
|
|
|
|
|
|
'--install')
|
|
|
|
install
|
|
|
|
exit
|
|
|
|
;;
|
|
|
|
|
|
|
|
'--uninstall')
|
|
|
|
uninstall
|
|
|
|
exit
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
|
|
|
help
|
|
|
|
esac
|
|
|
|
|