Skip to content

Instantly share code, notes, and snippets.

@glidenote
Created December 1, 2011 02:52
Show Gist options
  • Save glidenote/1413062 to your computer and use it in GitHub Desktop.
Save glidenote/1413062 to your computer and use it in GitHub Desktop.
logmon
#!/bin/sh
# chkconfig: 345 13 13
# description: Log Monitor
# processname: logmon
LOGMON_CONF=/etc/logmon/logmon.conf
LOGMON_BIN=/etc/logmon/logmon.pl
logmon_opts="-f $LOGMON_CONF"
check_start() {
$0 status > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Success."
exit 0
fi
echo "Failed."
exit 1
}
case "$1" in
start)
$0 status > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "logmon is alredy running."
exit 1
fi
echo -n $"Starting logmon: "
$LOGMON_BIN $logmon_opts >/dev/null 2>&1 &
sleep 1
check_start
;;
stop)
echo -n "Stopping logmon: "
pkill -TERM -of $LOGMON_BIN
echo Done.
;;
restart)
$0 stop
sleep 1
$0 start
;;
switch)
pkill -HUP -of $LOGMON_BIN
;;
check)
$LOGMON_BIN -c $logmon_opts
;;
status)
pid=`pgrep -of $LOGMON_BIN`
if [ -n "$pid" ]; then
echo "logmon (pid $pid) is running..."
exit 0
fi
echo "logmon is stopped"
exit 3
;;
*)
echo "Usage: $0 {start|stop|restart|switch|status|check}"
exit 1
esac
[program:logmon]
command=/etc/logmon/logmon.pl -f /etc/logmon/logmon.conf
stdout_logfile_maxbytes=1MB
stderr_logfile_maxbytes=1MB
stdout_logfile=/var/log/%(program_name)s.log
stderr_logfile=/var/log/%(program_name)s.log
autorestart=true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment