#!/bin/bash # # innd InterNet News System # # chkconfig: - 95 05 # description: inn is the most popular server for Usenet news. It allows \ # you to setup local news servers. It can be difficult to \ # set up properly though, so be sure to read /usr/share/doc/inn* \ # before trying. # processname: innd # pidfile: /var/run/news/innd.pid ### BEGIN INIT INFO # Provides: innd # Required-Start: $network # Short-Description: InterNet News System # Description: inn is the most popular server for Usenet news. It allows \ # you to setup local news servers. It can be difficult to \ # set up properly though, so be sure to read /usr/share/doc/inn* \ # before trying. ### END INIT INFO # Source function library. . /etc/init.d/functions # Get config. . /etc/sysconfig/network RETVAL=0 start() { # Check that networking is up. [ "${NETWORKING}" = "no" ] && exit 1 [ -d /etc/news ] || exit 1 [ -f /etc/news/inn.conf ] || exit 6 . /usr/lib/news/lib/innshellvars || exit 1 [ -d "$SPOOLBASE" ] || exit 1 [ -f "$HISTORY" -a -f "$HISTORY.hash" ] || { echo $"Please run makehistory and/or makedbz before starting innd." >&2 exit 1 } echo -n $"Starting INND system: " # INN uses too many un-checked shell scripts unset LANG unset LC_COLLATE daemon --user news /etc/rc.news RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/innd echo } stop() { if [ -f /var/run/news/innd.pid ]; then echo -n $"Stopping INND service (gently): " if "${NEWSBIN}/ctlinnd" -s -t 60 throttle shutting down && sleep 30 && "${NEWSBIN}/ctlinnd" -s -t 60 shutdown shutting down; then success $"innd shutdown" else failure $"innd shutdown" echo -n $"Stopping INND service (the hard way): " killproc innd fi RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/run/news/innd.pid echo fi if [ -f /var/run/news/innwatch.pid ]; then echo -n $"Stopping INNWatch service: " killproc innwatch -9 RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/run/news/innwatch.pid echo fi if [ -f /var/run/news/innfeed.pid ]; then echo -n $"Stopping INNFeed service: " killproc innfeed -9 RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/run/news/innfeed.pid echo fi if [ -f /var/run/news/actived.pid ]; then echo -n $"Stopping INN actived service: " killproc actived -9 RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/run/news/actived.pid echo fi [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/innd /var/lock/news/* } reload() { echo -n $"Reloading INN Service: " killproc innd -HUP RETVAL=$? } restart() { stop start } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status innd RETVAL=$? ;; reload) #XXX fixme, not working #reload restart ;; restart) restart ;; condrestart) if [ -f /var/lock/subsys/innd ]; then restart fi ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart}" exit 3 ;; esac exit $RETVAL