]> git.decadent.org.uk Git - nfs-utils.git/commitdiff
Initial script for distribution-independent SysV init script to start
authorlon <lon>
Fri, 9 Feb 2001 18:58:07 +0000 (18:58 +0000)
committerlon <lon>
Fri, 9 Feb 2001 18:58:07 +0000 (18:58 +0000)
nfs server services (nfsd, mountd, rquotad).

etc/nodist/nfs-server [new file with mode: 0755]

diff --git a/etc/nodist/nfs-server b/etc/nodist/nfs-server
new file mode 100755 (executable)
index 0000000..d95eada
--- /dev/null
@@ -0,0 +1,114 @@
+#!/bin/sh
+# nfs   This shell script starts and stops the nfs services in a distribution
+#       independent fashion.
+#
+# description:  starts and stops nfs server services
+# chkconfig: 2345 99 01
+#
+# Copyright (c) 2000-2001 Mission Critical Linux, Inc.
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+export PATH
+
+# Who am I?
+SCRIPT_NAME=`basename $0`
+
+# Grab our daemon functions.
+. `dirname $0`/nfs-functions
+
+# Kernel daemons and options
+PREFIX="rpc."          # Prefix for kernel execs (usually "rpc.")
+NFSD="nfsd"            # Kernel NFS Server
+RPCNFSDCOUNT="8"       # Number of nfsd threads
+
+# User daemons and options
+RQUOTAD="rpc.rquotad"  # Remote quota server
+MOUNTD="rpc.mountd"    # Mount server
+RPCMOUNTDOPTS=""       # options for rpc.mountd
+EXPORTFS="exportfs"    # Exportfs command
+
+SCRIPT_NAME=`basename $0`
+DESC="NFS kernel daemon"
+
+# We use "type -path" instead of "which" since it's internal to bash.
+[ -x "`type -path $PREFIX$NFSD`" ] || exit 0
+[ -x "`type -path $MOUNTD`" ] || exit 0
+
+# Also make sure we have our exportfs command.
+[ -x "`type -path $EXPORTFS`" ] || exit 0
+[ -s /etc/exports ] || exit 0
+
+# rquotad is not required for NFS to work, however.
+# Unset if it is not present.
+[ -x "`type -path $RQUOTAD`" ] || unset RQUOTAD
+
+# Handle how we were called.
+case "$1" in
+start)
+    echo -n "Exporting directories for $DESC..."
+    $EXPORTFS -r
+    echo "done."
+
+    if /usr/sbin/rpcinfo -u localhost nfs 3 &>/dev/null 
+    then
+        RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3"
+    fi
+
+    # Start rquotad if it is set
+    if [ -n "$RQUOTAD" ]
+    then
+        echo -n "Starting $RQUOTAD: "
+        startdaemon $RQUOTAD
+    fi
+
+    echo -n "Starting $MOUNTD: "
+    startdaemon $MOUNTD $RPCMOUNTDOPTS
+    echo -n "Starting $NFSD: "
+    startdaemon $PREFIX$NFSD $RPCNFSDCOUNT
+
+    # if this lock file doesn't exist, init won't even try to run
+    # the shutdown script for this service on RedHat systems!
+    # on non-RedHat systems, /var/lock/subsys may not exist.
+    touch /var/lock/subsys/$SCRIPT_NAME &> /dev/null
+    ;;
+
+stop)
+    for process in $RQUOTAD $MOUNTD $NFSD
+    do
+        echo -n "Stopping $process: "
+        stopdaemon $process
+    done
+
+    echo "Unexporting directories for $DESC..."
+    $EXPORTFS -au
+    rm -f /var/lock/subsys/$SCRIPT_NAME 
+    echo "done."
+    ;;
+
+restart)
+    $0 stop
+    $0 start
+    ;;
+
+reload)
+    # Update exports
+    echo "Re-exporting directories for $DESC..."
+    $EXPORTFS -r
+    touch /var/lock/subsys/$SCRIPT_NAME &> /dev/null
+    echo "done."
+    ;;
+
+status)
+    # First, check status of userland daemons
+    for process in $RQUOTAD $MOUNTD $NFSD
+    do
+       daemonstatus $process
+    done
+    exit 0
+    ;;
+
+*)
+    echo "Usage: $0 {start|stop|status|restart|reload}"
+    exit 1
+esac