diff options
Diffstat (limited to 'debian/nfs-kernel-server.init')
-rwxr-xr-x | debian/nfs-kernel-server.init | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/debian/nfs-kernel-server.init b/debian/nfs-kernel-server.init new file mode 100755 index 0000000..1626213 --- /dev/null +++ b/debian/nfs-kernel-server.init @@ -0,0 +1,83 @@ +#!/bin/sh +# +# nfs-kernel-server +# This shell script takes care of starting and stopping +# the kernel-mode NFS server. +# +# chkconfig: 345 60 20 +# description: NFS is a popular protocol for file sharing across TCP/IP \ +# networks. This service provides NFS server functionality, \ +# which is configured via the /etc/exports file. +# + +PREFIX=/usr +[ -x $PREFIX/sbin/rpc.nfsd ] || exit 0 +[ -x $PREFIX/sbin/rpc.mountd ] || exit 0 +[ -x $PREFIX/sbin/exportfs ] || exit 0 + +# What is this? +DESC="NFS kernel daemon" + +RPCNFSDCOUNT=8 # Number of servers to be started up by default +RPCMOUNTDOPTS= + +# Make sure that daemon cwds are in root fs. +cd / + +# See how we were called. +case "$1" in + start) + if grep -q '^/' /etc/exports; then + printf "Exporting directories for $DESC..." + $PREFIX/sbin/exportfs -r + echo "done." + + printf "Starting $DESC:" + printf " nfsd" + start-stop-daemon --start --quiet \ + --exec $PREFIX/sbin/rpc.nfsd -- $RPCNFSDCOUNT + printf " mountd" + $PREFIX/bin/rpcinfo -u localhost nfs 3 > /dev/null 2>&1 || + RPCMOUNTDOPTS="$RPCMOUNDOPTS --no-nfs-version 3" + start-stop-daemon --start --quiet \ + --exec $PREFIX/sbin/rpc.mountd -- $RPCMOUNTDOPTS + echo "." + else + echo "Not starting $DESC: No exports." + fi + ;; + + stop) + printf "Stopping $DESC: mountd" + start-stop-daemon --stop --oknodo --quiet \ + --exec $PREFIX/sbin/rpc.mountd + printf " nfsd" + start-stop-daemon --stop --oknodo --quiet \ + --name nfsd --user root --signal 2 + echo "." + + printf "Unexporting directories for $DESC..." + $PREFIX/sbin/exportfs -au + echo "done." + ;; + + reload | force-reload) + printf "Re-exporting directories for $DESC..." + $PREFIX/sbin/exportfs -r + echo "done." + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "Usage: nfs-kernel-server {start|stop|reload|force-reload|restart}" + exit 1 + ;; +esac + +exit 0 + |