1#!/bin/bash 2# chkconfig: - 15 85 3# config: /etc/quagga/zebra.conf 4 5### BEGIN INIT INFO 6# Provides: zebra 7# Short-Description: GNU Zebra routing manager 8# Description: GNU Zebra routing manager 9### END INIT INFO 10 11# source function library 12. /etc/rc.d/init.d/functions 13 14# Get network config 15. /etc/sysconfig/network 16 17# quagga command line options 18. /etc/sysconfig/quagga 19 20RETVAL=0 21PROG="zebra" 22cmd=zebra 23LOCK_FILE=/var/lock/subsys/zebra 24CONF_FILE=/etc/quagga/zebra.conf 25 26case "$1" in 27 start) 28 # Check that networking is up. 29 [ "${NETWORKING}" = "no" ] && exit 1 30 31 # The process must be configured first. 32 [ -f $CONF_FILE ] || exit 6 33 if [ `id -u` -ne 0 ]; then 34 echo $"Insufficient privilege" 1>&2 35 exit 4 36 fi 37 38 echo -n $"Starting $PROG: " 39 /sbin/ip route flush proto zebra 40 daemon $cmd -d $ZEBRA_OPTS -f $CONF_FILE 41 RETVAL=$? 42 [ $RETVAL -eq 0 ] && touch $LOCK_FILE 43 echo 44 ;; 45 stop) 46 echo -n $"Shutting down $PROG: " 47 killproc $cmd 48 RETVAL=$? 49 [ $RETVAL -eq 0 ] && rm -f $LOCK_FILE 50 echo 51 ;; 52 restart|reload|force-reload) 53 $0 stop 54 $0 start 55 RETVAL=$? 56 ;; 57 condrestart|try-restart) 58 if [ -f $LOCK_FILE ]; then 59 $0 stop 60 $0 start 61 fi 62 RETVAL=$? 63 ;; 64 status) 65 status $cmd 66 RETVAL=$? 67 ;; 68 *) 69 echo $"Usage: $0 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}" 70 exit 2 71esac 72 73exit $RETVAL 74