| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 1 | #!/bin/bash |
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 2 | # chkconfig: 2345 17 83 |
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 3 | |
| 4 | ### BEGIN INIT INFO | ||||
| 5 | # Provides: watchquagga | ||||
| 6 | # Short-Description: Quagga watchdog | ||||
| 7 | # Description: Quagga watchdog for use with Zebra | ||||
| 8 | ### END INIT INFO | ||||
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 9 | |
| 10 | # source function library | ||||
| 11 | . /etc/rc.d/init.d/functions | ||||
| 12 | |||||
| 13 | # Get network config | ||||
| 14 | . /etc/sysconfig/network | ||||
| 15 | |||||
| 16 | # quagga command line options | ||||
| 17 | . /etc/sysconfig/quagga | ||||
| 18 | |||||
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 19 | RETVAL=0 |
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 20 | PROG="watchquagga" |
| 21 | cmd=watchquagga | ||||
| 22 | LOCK_FILE=/var/lock/subsys/watchquagga | ||||
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 23 | |
| 24 | case "$1" in | ||||
| 25 | start) | ||||
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 26 | # Check that networking is up. |
| 27 | [ "${NETWORKING}" = "no" ] && exit 1 | ||||
| 28 | |||||
| 29 | # Check that there are daemons to be monitored. | ||||
| 30 | [ -z "$WATCH_DAEMONS" ] && exit 1 | ||||
| 31 | |||||
| 32 | echo -n $"Starting $PROG: " | ||||
| 33 | daemon $cmd -d $WATCH_OPTS $WATCH_DAEMONS | ||||
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 34 | RETVAL=$? |
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 35 | [ $RETVAL -eq 0 ] && touch $LOCK_FILE |
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 36 | echo |
| 37 | ;; | ||||
| 38 | stop) | ||||
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 39 | echo -n $"Shutting down $PROG: " |
| 40 | killproc $cmd | ||||
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 41 | RETVAL=$? |
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 42 | [ $RETVAL -eq 0 ] && rm -f $LOCK_FILE |
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 43 | echo |
| 44 | ;; | ||||
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 45 | restart|reload|force-reload) |
| 46 | $0 stop | ||||
| 47 | $0 start | ||||
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 48 | RETVAL=$? |
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 49 | ;; |
| 50 | condrestart|try-restart) | ||||
| 51 | if [ -f $LOCK_FILE ]; then | ||||
| 52 | $0 stop | ||||
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 53 | $0 start |
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 54 | fi |
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 55 | RETVAL=$? |
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 56 | ;; |
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 57 | status) |
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 58 | status $cmd |
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 59 | RETVAL=$? |
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 60 | ;; |
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 61 | *) |
| David Ward | a41242b | 2012-04-29 16:47:07 -0400 | [diff] [blame] | 62 | echo $"Usage: $0 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}" |
| 63 | exit 2 | ||||
| ajs | 54b5252 | 2004-12-22 03:02:46 +0000 | [diff] [blame] | 64 | esac |
| 65 | |||||
| 66 | exit $RETVAL | ||||