Made more standard. Also, options to vsys changed and it looks like this script...
authorFaiyaz Ahmed <faiyaza@cs.princeton.edu>
Wed, 30 Jan 2008 22:06:08 +0000 (22:06 +0000)
committerFaiyaz Ahmed <faiyaza@cs.princeton.edu>
Wed, 30 Jan 2008 22:06:08 +0000 (22:06 +0000)
vsys-initscript

index c448b52..323fe92 100755 (executable)
@@ -1,23 +1,50 @@
 #!/bin/bash
-# vsys initscript
-# Author: sapanb
+#
+# chkconfig: 345 84 02
+# description: Vsys file descriptor abritrator startup.
+#
+# Sapan Bhatia <sapanb@cs.princeton.edu>
+#
+# $Id$
+# $HeadURL$
+#
+name="vsys"
 
-backend="/vsys"
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+if [ -f /etc/sysconfig/$name ]; then
+    . /etc/sysconfig/$name
+fi
+
+backend=${BACKEND-/vsys}
+
+conf=${CONF-/etc/$name.conf}
+pidfile=${PIDFILE-/var/run/$name.pid}
+lockfile=${LOCKFILE-/var/lock/subsys/$name}
+RETVAL=0
+
+vsys=${VSYS- "/usr/bin/vsys -backend $backend -conffile $conf"}
 
 case "$1" in
     start)
-        echo -n "Starting vsys:"
+        echo -n "Starting $name:"
         if [ ! -d $backend ]; then mkdir $backend; fi
-        find /vservers -maxdepth 1 -type d | perl -e 'while (<>) {if (/(\/vservers\/(.*_.*))/) {$dir=$1;if (not (-d "$dir/vsys")) {mkdir "$dir/vsys";}}}'
-        frontends=`find /vservers -maxdepth 1 -type d | perl -e 'while (<>) {if (/(\/vservers\/(.*_.*))/) {$dir=$1;$slice=$2;printf "-frontend $dir/vsys $slice "}}'`
-        vsys_command="/usr/bin/vsys -backend $backend $frontends"
-        echo $vsys_command
-        $vsys_command
+        daemon --check=vsys $vsys "$@"
+        RETVAL=$?
+        echo
+        [ $RETVAL -eq 0 ] && touch ${lockfile}
         ;;
     stop)
-        echo -n "Stopping $prog:"
-        killall vsys
-        exit 0
+        echo -n "Stopping $name:"
+        killproc $name
+        RETVAL=$?
+        echo
+        [ $RETVAL -eq 0 ] && rm -f ${lockfile} ${pidfile}
+        ;;
+    restart)
+        stop
+        start
         ;;
     *)
         echo $"Usage: $0 {start|stop}"
@@ -25,5 +52,3 @@ case "$1" in
         ;;
 esac
 
-# Source function library.
-. /etc/rc.d/init.d/functions