#!/bin/sh # chkconfig: 345 99 01 ### BEGIN INIT INFO # Provides: oar-node # Required-Start: $network # Required-Stop: $network # Default-Start: 345 # Short-Description: Start/Stop the oar node service # Description: OAR is a resource manager (or batch scheduler) for large computing clusters ### END INIT INFO RETVAL=0 DESC="OAR dedicated SSH server" OAR_SSHD_CONF="/etc/oar/sshd_config" SSHD_OPTS="-f $OAR_SSHD_CONF -o PidFile=/var/lib/oar/oar_sshd.pid" # Source function library. . /etc/init.d/functions start_oar_node() { gprintf " * Edit start_oar_node function in /etc/sysconfig/oar-node if you want\n" gprintf " to perform a specific action (e.g. to switch the node to Alive)\n" } stop_oar_node() { gprintf " * Edit stop_oar_node function in /etc/sysconfig/oar-node if you want\n" gprintf " to perform a specific action (e.g. to switch the node to Absent)\n" } # Set sysconfig settings [ -f /etc/sysconfig/oar-node ] && . /etc/sysconfig/oar-node start() { gprintf "Starting %s: " "$DESC" if [ -f "$OAR_SSHD_CONF" ] ; then daemon --force /usr/sbin/sshd $SSHD_OPTS && success || failure RETVAL=$? echo else failure "Starting %s" "$DESC" fi } stop() { gprintf "Stopping %s: " "$DESC" if [ -n "`cat /var/lib/oar/oar_sshd.pid 2>/dev/null`" ]; then kill `cat /var/lib/oar/oar_sshd.pid` && success || failure RETVAL=3 else failure "Stopping %s" "$DESC" fi RETVAL=$? echo } reload() { gprintf "Reloading %s: " "$DESC" if [ -n "`cat /var/lib/oar/oar_sshd.pid 2>/dev/null`" ]; then killproc -p /var/lib/oar/oar_sshd.pid -HUP else failure "Reloading %s" "$DESC" fi RETVAL=$? echo } case "$1" in start) start start_oar_node ;; stop) stop stop_oar_node ;; reload) reload ;; restart|force-reload|restart) stop sleep 1 start ;; *) gprintf "Usage: %s {start|stop|reload|restart}\n" "$0" RETVAL=3 esac exit $RETVAL