Skip to content

Instantly share code, notes, and snippets.

@shtrom
Created July 30, 2012 07:38
Show Gist options
  • Save shtrom/3205525 to your computer and use it in GitHub Desktop.
Save shtrom/3205525 to your computer and use it in GitHub Desktop.
ArchLinux rc.d script for AUR package graphite-web
#!/bin/bash
daemon_name=graphite-web
. /etc/rc.conf
. /etc/rc.d/functions
get_pid() {
echo `ps ax | grep [c]arbon-cache.py | awk '{ print $1; }'; \
ps ax | grep [u]wsgi-graphite.yaml | awk '{ print $1; }'`
}
case "$1" in
start)
stat_busy "Starting $daemon_name daemon"
PID=$(get_pid)
if [[ -z $PID ]]; then
[[ -f /var/run/$daemon_name.pid ]] &&
rm -f /var/run/$daemon_name.pid
# RUN
python2 /opt/graphite/bin/carbon-cache.py start && \
uwsgi --yaml /opt/graphite/conf/uwsgi-graphite.yaml > /dev/null 2>&1 &
#
if [[ $? -gt 0 ]]; then
stat_fail
exit 1
else
echo $(get_pid) > /var/run/$daemon_name.pid
add_daemon $daemon_name
stat_done
fi
else
stat_fail
exit 1
fi
;;
stop)
stat_busy "Stopping $daemon_name daemon"
PID=$(get_pid)
# KILL
[[ -n $PID ]] && kill $PID &> /dev/null
#
if [[ $? -gt 0 ]]; then
stat_fail
exit 1
else
rm -f /var/run/$daemon_name.pid &> /dev/null
rm_daemon $daemon_name
stat_done
fi
;;
restart)
$0 stop
sleep 3
$0 start
;;
status)
stat_busy "Checking $daemon_name status";
ck_status $daemon_name
;;
*)
echo "usage: $0 {start|stop|restart|status}"
esac
exit 0
# vim:set ts=2 sw=2 et:
@shtrom
Copy link
Author

shtrom commented Jul 30, 2012

Oh, it might be good to su graphite uwsgi --yaml ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment