Last active
December 20, 2015 02:19
-
-
Save mashurex/6055195 to your computer and use it in GitHub Desktop.
New Relic MySQL Agent Plugin init.d script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# /etc/init.d/newrelic_mysql_agent -- Startup/shutdown script for New Relic MySQL Plugin | |
# | |
# Written by Mustafa Ashurex <[email protected]>. | |
# | |
# | |
### BEGIN INIT INFO | |
# Provides: newrelic_mysql_plugin | |
# Required-Start: $Local_fs $remote_fs $network $sysLog | |
# Required-Stop: $Local_fs $remote_fs $network $sysLog | |
# Should-Start: $named | |
# Should-Stop $named | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Description: Start and stop the New Relic MySQL Plugin | |
# Short-Description: Start and stop New Relic MySQL Plugin | |
### END INIT INFO | |
## Source function Library | |
. /etc/rc.d/init.d/functions | |
NR_MYSQL_PLUGIN_PID="/var/run/newrelic_mysql_plugin.pid" | |
NR_MYSQL_PLUGIN_VERSION="1.0.4" | |
export NR_MYSQL_PLUGIN_PID | |
export NR_MYSQL_PLUGIN_VERSION | |
if [[ -z "$NR_MYSQL_PLUGIN_HOME" ]] | |
then | |
NR_MYSQL_PLUGIN_HOME="/etc/newrelic/newrelic_mysql_plugin-$NR_MYSQL_PLUGIN_VERSION" | |
export NR_MYSQL_PLUGIN_HOME | |
fi | |
if [[ -z "$NR_MYSQL_PLUGIN_HOME" ]] | |
then | |
echo NR_MYSQL_PLUGIN_HOME must be set! | |
exit 5 | |
fi | |
plugin_pid() { | |
# This gets the pid from ps | |
echo `ps aux | grep newrelic_mysql_plugin | grep -v grep | awk '{ print $2 }'` | |
} | |
plugin_start() { | |
pid=$(plugin_pid) | |
if [ -n "$pid" ]; then | |
echo "Plugin is already running (pid: $pid)." | |
else | |
cd $NR_MYSQL_PLUGIN_HOME | |
echo "Starting Plugin..." | |
echo -n $pid > $NR_MYSQL_PLUGIN_PID | |
`java -jar $NR_MYSQL_PLUGIN_HOME/newrelic_mysql_plugin-$NR_MYSQL_PLUGIN_VERSION.jar` > /dev/null 2>&1 & | |
echo "Plugin started." | |
fi | |
return 0 | |
} | |
plugin_stop() { | |
pid=$(plugin_pid) | |
if [ -n "$pid" ] | |
then | |
echo "Stopping Plugin..." | |
kill -9 $pid | |
rm $NR_MYSQL_PLUGIN_PID | |
echo "Plugin stopped." | |
else | |
echo "Plugin is not running." | |
fi | |
return 0 | |
} | |
plugin_status() { | |
pid=$(plugin_pid) | |
if [ -n "$pid" ] | |
then | |
echo "Plugin is running with pid: $pid." | |
else | |
echo "Plugin is not running." | |
fi | |
return 0 | |
} | |
case $1 in | |
start) | |
plugin_start | |
;; | |
stop) | |
plugin_stop | |
;; | |
restart) | |
plugin_stop | |
plugin_start | |
;; | |
status) | |
plugin_status | |
;; | |
*) | |
echo "Missing required directive [start | stop | status]" | |
exit 1 | |
;; | |
esac | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment