#! /bin/sh # # dbmon # # chkconfig: - 95 10 # description: A simple script to monitor MySQL queries. # processname: perl # config: /etc/sysconfig/dbmon-mysql # pidfile: /var/run/dbmon-mysql/pid WITHOUT_RC_COMPAT=1 # Source function library. . /etc/init.d/functions SourceIfNotEmpty /etc/sysconfig/dbmon-mysql PERL=/usr/bin/perl EXE=/usr/share/dbmon-mysql/dbmon.pl PIDFILE=/var/run/dbmon-mysql/pid LOCKFILE=/var/lock/subsys/dbmon-mysql RETVAL=0 USER=_dbmon [ -n "$rotate" ] && OPTIONS="--rotate " [ -n "$host" ] || host="localhost:3306" OPTIONS+="--host=$host " [ -n "$killong" ] && OPTIONS+="--killlong=$killlong " [ -n "$killvolatile" ] && OPTIONS+="--killvolatile " [ -n "$killconn" ] && OPTIONS+="--killconn" [ -n "$interval" ] && OPTIONS+="--interval=$interval" start() { action "Starting dbmon-mysql:" \ start-stop-daemon --start --make-pidfile --pidfile "$PIDFILE" --user "$USER" \ --background --chuid "$USER" --exec "$PERL" -- "$EXE" "$OPTIONS" RETVAL=$? [ "$RETVAL" -ne 0 ] || touch "$LOCKFILE" return $RETVAL } stop() { action "Stopping dbmon-mysql:" \ start-stop-daemon --stop --pidfile "$PIDFILE" --user $USER --exec "$PERL" RETVAL=$? [ "$RETVAL" -ne 0 ] || rm -f -- "$LOCKFILE" "$PIDFILE" return $RETVAL } restart() { stop start } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart|reload) restart ;; condstop) if [ -e "$LOCKFILE" ]; then stop fi ;; condrestart|condreload) if [ -e "$LOCKFILE" ]; then restart fi ;; status) status --pidfile "$PIDFILE" --expect-user "$USER" --displayname dbmon-mysql -- "$PERL" RETVAL=$? ;; *) msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}" RETVAL=1 esac exit $RETVAL