Annexe 14. Script d'initialisation Nagios▲
Sélectionnez
#!/bin/sh
NAGIOS_BIN
=
/usr/local
/nagios/bin/nagios
NAGIOS_CFG
=
/usr/local
/nagios/etc/nagios.cfg
NAGIOS_FLG
=
" -d "
NAGIOS_CHK
=
" -v "
NAGIOS_LCK
=
/var/nagios/var/nagios.lock
NAGIOS_CMD
=
/var/nagios/var/rw/nagios.cmd
# Check we have required binaries and variables
if
[ !
$NAGIOS_BIN
] ||
[ !
$NAGIOS_CFG
] ||
[ !
$NAGIOS_CHK
] ||
[ !
$NAGIOS_FLG
] ||
[ !
$NAGIOS_FLG
] ||
[ !
$NAGIOS_CMD
]
then
echo "init_nagios.sh configuration error"
exit 0
fi
test -f $NAGIOS_BIN
||
exit 0
test -f $NAGIOS_CFG
||
exit 0
case
"
$1
"
in
start)
if
[ -f $NAGIOS_LCK
] &&
kill -0
`cat
$NAGIOS_LCK
`
2
>
/dev/null
then
echo "Nagios already started..."
exit 1
else
if
[ !
-f $NAGIOS_LCK
] &&
pidof nagios >
/dev/null 2
&>
1
then
echo "Nagios already started but no lockfile..."
exit 0
else
if
pidof nagios >
/dev/null 2
&>
1
then
echo "Nagios lockfile exist but no daemon is started..."
echo "Deleting lockfile and starting Nagios..."
rm -f $NAGIOS_LCK
$NAGIOS_CMD
$NAGIOS_BIN
$NAGIOS_FLG
$NAGIOS_CFG
exit 1
fi
fi
fi
echo "Starting Nagios..."
$NAGIOS_BIN
$NAGIOS_FLG
$NAGIOS_CFG
exit 1
;;
stop)
if
[ -f $NAGIOS_LCK
] &&
kill -0
`cat
$NAGIOS_LCK
`
2
>
/dev/null
then
echo "Stopping Nagios..."
kill -9
`cat
$NAGIOS_LCK
`
>
/dev/null
rm -f $NAGIOS_LCK
rm -f $NAGIOS_CMD
exit 1
else
if
[ !
-f $NAGIOS_LCK
] &&
pidof nagios >
/dev/null 2
&>
1
then
echo "Nagios seems to be running but no lockfile exists... stopping..."
killall nagios
rm -f $NAGIOS_LCK
rm -f $NAGIOS_CMD
exit 0
else
if
[ -f $NAGIOS_LCK
]
then
echo "Nagios isn't running but lockfile exists... removing..."
rm -f $NAGIOS_LCK
rm -f $NAGIOS_CMD
exit 0
fi
fi
fi
echo "Nagios is not running ..."
;;
restart)
$0
stop
$0
start
exit 1
;;
configtest)
$NAGIOS_BIN
$NAGIOS_CHK
$NAGIOS_CFG
exit 1
;;
*)
echo "Usage : /etc/init.d/init_nagios.sh {start|stop|restart|configtest}"
exit 1
;;
esac
exit 0