#! /bin/sh ### BEGIN INIT INFO # Provides: chef-server # Required-Start: $network # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start a chef-server. ### END INIT INFO # # Copyright (c) 2009 Joshua Timberman, # # chef-server Startup script for chef-server. # chkconfig: - 98 02 # description: starts up chef-server webui. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/bin/chef-server PIDFILE=/var/run/chef/server.%s.pid MAINPID=/var/run/chef/server.main.pid LOGFILE=/var/log/chef/merb.%s.log MASTER=master NAME=chef-server DESC=chef-server DAEMON_OPTS="-d -c2 -P $PIDFILE -L $LOGFILE" test -x $DAEMON || exit 0 . /lib/lsb/init-functions if [ ! -d /var/run/chef ]; then mkdir /var/run/chef fi running() { [ ! -f "$MAINPID" ] && return 1 pid=`cat $MAINPID` name=$MASTER [ -z "$pid" ] && return 1 [ ! -d /proc/$pid ] && return 1 cmd=`cat /proc/$pid/cmdline | tr '\000' '\n' | head -1 | awk -F:\ '{print $3}'` [ "$cmd" != "$name" ] && return 1 return 0 } start_server() { $DAEMON $DAEMON_OPTS errcode=$? return $errcode } stop_server() { $DAEMON -K all -P $PIDFILE errcode=$? return $errcode } reload_server() { stop_server start_server } case "$1" in start) log_daemon_msg "Starting $DESC " if running ; then log_progress_msg "apparently already running" log_end_msg 0 exit 0 fi if start_server ; then sleep 1 if running ; then log_end_msg 0 else log_end_msg 1 fi else log_end_msg 1 fi ;; stop) log_daemon_msg "Stopping $DESC" if running ; then errcode=0 stop_server || errcode=$? log_end_msg $errcode else log_progress_msg "apparently not running" log_end_msg 0 exit 0 fi ;; restart|force-reload) log_daemon_msg "Restarting $DESC" errcode=0 reload_server running && errcode=$? log_end_msg $errcode ;; status) log_daemon_msg "Checking status of $DESC" if running ; then log_progress_msg "running" log_end_msg 0 else log_progress_msg "apparently not running" log_end_msg 1 exit 3 fi ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|status}" >&2 exit 1 ;; esac exit 0