Differences between current version and predecessor to the previous major change of RedHatMetaNetScripts.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 7 | Last edited on Friday, March 4, 2005 11:20:52 am | by JohnMcPherson | |
Older page: | version 3 | Last edited on Sunday, August 31, 2003 3:07:42 pm | by CraigBox | Revert |
@@ -1,103 +1,203 @@
-
AlastairPorter is trying to write some RedHat init.d scripts for the MetaNet.
+AlastairPorter is trying to write some RedHat init.d scripts for the MetaNet.
- #!/bin/sh
- #
- # Etud startup script for the Ethernet over UDP daemon
- #
- # Written by Daniel Lawson <daniel@meta.net.nz>
- # Modified for Red Hat by Alastair Porter <alastair@wlug.org.nz>
- #
- #
- # Source function library.
- . /etc/rc.d/init.d/functions
- ETUDCONF=
/usr
/local/etc/etud.conf
- DAEMON=/usr/local/sbin/
Etud
- #ETUDCONF=/etc/wandclients/etud
.conf
- #DAEMON=/usr/sbin/Etud
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
- NAME=Etud
- DESC="EtherneT over Udp Daemon"
- IP=
/bin
/ip
+<verbatim>
+#!
/bin
/sh
+#
+#
Etud startup script for the Ethernet over UDP daemon
+#
+# Written by Daniel Lawson <daniel@meta.net
.nz>
+# Modified for Red Hat by Alastair Porter <alastair@wlug.org.nz>
+#
+#
+# Source function library.
+.
/etc/rc.d/init.d
/functions
- # Check for the
Etud configuration file
- if [[ ! -f ${
ETUDCONF} ]; then
- echo Could not find
etud configuration file
- exit
- fi
+ETUDCONF=/usr/local/etc/etud.conf
+DAEMON=/usr/local/sbin/
Etud
+#
ETUDCONF=/etc/wandclients/
etud.conf
+#DAEMON=/usr/sbin/Etud
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+NAME=Etud
+DESC="EtherneT over Udp Daemon"
+IP=/bin/ip
-
# Parameter defaults
- IFNAME=wan0
- CTRLFILE=/var/run/
Etud.ctrl
- PIDFILE=/var/run/Etud.pid
- # Retrieve the real values from the config
file if they exist
- while read parameter value
- do
-
if [[ "$parameter" == "pidfile" ]; then
- PIDFILE=`echo "$value" | tr
-d '"'`
- elif [[ "
$parameter" == "ctrlfile"
]; then
- CTRLFILE=`
echo "$value" | tr -d '"'`
- elif [[ "$parameter" == "ifname" ]; then
- IFNAME=`echo "$value" | tr -d '"'`
-
fi
- done < $ETUDCONF
+# Check for the
Etud configuration
file
+if [ !
-f
${ETUDCONF}
]; then
+
echo Could not find etud configuration file
+ exit
+fi
- test -x
$DAEMON || exit
- ARGS
="-f
$ETUDCONF
-p
$PIDFILE
"
+# Parameter defaults
+IFNAME=wan0
+CTRLFILE=/var/run/Etud.ctrl
+PIDFILE=/var/run/Etud.pid
+# Retrieve the real values from the config file if they exist
+while read parameter value
+do
+ if [ "
$parameter" == "pidfile" ]; then
+ PIDFILE
=`echo
"$value" | tr
-d '"'`
+ elif [ "
$parameter" == "ctrlfile" ]; then
+ CTRLFILE=`echo "$value" | tr
-d '"'`
+ elif [ "
$parameter
" == "ifname" ]; then
+ IFNAME=`echo "$value" | tr -d '"'`
+ fi
+done < $ETUDCONF
- set
-e
+test
-x $DAEMON || exit
+ARGS="-f $ETUDCONF -p $PIDFILE"
- case "$1" in
- start)
- echo -n "Starting Etud"
- [[
-e $CTRLFILE ] && {
- echo ""
- echo -n "Control file exists, checking to see if Etud lives? "
+set
-e
- [[ -e
${PIDFILE} ] || {
- echo "
"
-
echo "No pidfile present, exiting
"
- exit 1;
- }
- # check that the pid in the pid file
-
[[ x`cat
${PIDFILE}` == x`pidof ${NAME}`
] && {
-
echo "... yes, aborting
"
- exit 1;
- } || {
-
echo "... no
, removing
"
- \rm ${CTRLFILE}
- }
+case "
$1
" in
+start)
+echo -n
"Starting Etud
"
+ [ -e
$CTRLFILE
] && {
+
echo ""
+
echo -n
"Control file exists
, checking to see if Etud lives?
"
-
}
+ [ -e ${PIDFILE} ] || {
+ echo ""
+ echo "No pidfile present, exiting"
+ exit 1;
+ }
+ # check that the pid in the pid file
+ [ x`cat ${PIDFILE}` == x`pidof ${NAME}` ] && {
+ echo "... yes, aborting"
+ exit 1;
+ } || {
+ echo "... no, removing"
+ \rm ${CTRLFILE}
+
}
- daemon $DAEMON $ARGS
-
ifdown ${IFNAME
}
- ifup ${IFNAME}
- echo
- ;;
+ }
- stop)
-
echo -n "Stopping Etud "
-
ifdown ${IFNAME}
- # killproc Etud
- # that should work (I think), but it doesn't... so:
- kill `cat /var/run/Etud.pid`
-
echo
-
;;
+ daemon $DAEMON $ARGS
+ ifdown ${IFNAME}
+ ifup ${IFNAME}
+ echo
+ ;;
- restart|force-reload
)
-
echo -n "Restarting $NAME
"
-
ifdown ${IFNAME}
- # killproc Etud
- # again
...
-
kill `cat /var/run/Etud.pid`
- sleep 1
- daemon $DAEMON $ARGS
- ifup ${IFNAME}
-
echo
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|force-reload}" >&2
-
;;
+stop
)
+ echo -n "Stopping Etud
"
+ ifdown ${IFNAME}
+# killproc Etud
+# that should work (I think), but it doesn't
... so:
+ kill `cat /var/run/Etud.pid`
+ echo
+ ;;
-
esac
+restart|force-reload)
+ echo -n "Restarting $NAME"
+ ifdown ${IFNAME}
+# killproc Etud
+# again...
+ kill `cat /var/run/Etud.pid`
+ sleep 1
+ daemon $DAEMON $ARGS
+ ifup ${IFNAME}
+ echo
+ ;;
+*)
+ echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+ ;;
+
+
esac
+</verbatim>
+
+Or here's one by [GerwinVanDeSteeg] which seems to work for Fedora Core 3.
+
+<tt>/etc/sysconfig/wand</tt>:
+ <verbatim>
+ # Configuration for the wandd daemon for the MetaNet
+ # http://www.wlug.org.nz/MetaNet
+
+ EPORT=22222
+ WPORT=44444
+ SERVER=<the name of the server specified in wand.conf goes here>
+ WANIF=wan0
+ </verbatim>
+
+<tt>/etc/init.d/wand</tt>:
+ <verbatim>
+ #! /bin/sh
+ #
+ # wand
+ #
+ # chkconfig: - 21 79
+ # description: wand provides access to the MetaNet
+ #
+
+ # Source function library.
+ . /etc/init.d/functions
+
+ if [ ! -f /etc/sysconfig/network ]; then
+ exit
+ fi
+
+ if [ ! -f /etc/sysconfig/wand ]; then
+ exit
+ fi
+
+ . /etc/sysconfig/network
+ . /etc/sysconfig/wand
+
+ ETUD=/usr/local/sbin/Etud
+ ETUDCTL=/usr/local/sbin/Etudctl
+ WAND=/usr/local/sbin/wand
+
+ start()
+ {
+ echo -n $"Starting Etud: "
+ daemon $ETUD -l $EPORT -p /var/run/Etud.pid
+ [ "$?" -eq 0 ] && echo_success || echo_failure
+ echo
+ echo -n $"Bringing up interface $WANIF: "
+ ifup $WANIF
+ [ "$?" -eq 0 ] && echo_success || echo_failure
+ echo
+ echo -n $"Starting wand: "
+ daemon $WAND -i $SERVER -l $WPORT
+ [ "$?" -eq 0 ] && echo_success || echo_failure
+ echo
+ service zebra start
+ service bgpd start
+ }
+
+ stop()
+ {
+ service bgpd stop
+ service zebra stop
+ echo -n $"Shutting down wand: "
+ killall wand
+ [ "$?" -eq 0 ] && echo_success || echo_failure
+ echo
+ echo -n $"Shutting down Etud: "
+ killall Etud
+ [ "$?" -eq 0 ] && echo_success || echo_failure
+ echo
+ }
+ case $1 in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ status)
+ service bgpd status
+ service zebra status
+ status $ETUD
+ $ETUDCTL -l
+ status $WANDD
+ ip route | grep zebra
+ ;;
+ *)
+ echo $"Usage: $prog {start|stop|restart|status}"
+ exit 1
+ esac
+ </verbatim>