1#!/bin/sh 2# 3# nfs This shell script takes care of starting and stopping 4# the NFS services. Stolen from RedHat FC5. 5 6mkdir -p /var/lock/subsys 7mkdir -p /run/nfs/sm 8mkdir -p /run/nfs/sm.bak 9touch /run/nfs/rmtab 10 11CFG_FILE=/etc/default/nfsd 12 13NR_THREADS=2 14if [ -f "${CFG_FILE}" ]; then 15 . "${CFG_FILE}" 16fi 17 18 19start() { 20 # Start daemons. 21 printf "Starting NFS statd: " 22 rpc.statd 23 [ $? = 0 ] && echo "OK" || echo "FAIL" 24 touch /var/lock/subsys/nfslock 25 26 printf "Starting NFS services: " 27 /usr/sbin/exportfs -r 28 [ $? = 0 ] && echo "OK" || echo "FAIL" 29 30 printf "Starting NFS daemon: " 31 rpc.nfsd ${NR_THREADS} 32 [ $? = 0 ] && echo "OK" || echo "FAIL" 33 34 printf "Starting NFS mountd: " 35 rpc.mountd 36 [ $? = 0 ] && echo "OK" || echo "FAIL" 37 touch /var/lock/subsys/nfs 38} 39 40stop() { 41 # Stop daemons. 42 printf "Shutting down NFS mountd: " 43 killall -q rpc.mountd 2>/dev/null 44 [ $? = 0 ] && echo "OK" || echo "FAIL" 45 46 printf "Shutting down NFS daemon: " 47 killall -q nfsd 2>/dev/null 48 [ $? = 0 ] && echo "OK" || echo "FAIL" 49 50 printf "Shutting down NFS services: " 51 /usr/sbin/exportfs -au 52 [ $? = 0 ] && echo "OK" || echo "FAIL" 53 54 printf "Stopping NFS statd: " 55 killall -q rpc.statd 2>/dev/null 56 [ $? = 0 ] && echo "OK" || echo "FAIL" 57 rm -f /var/lock/subsys/nfs 58 rm -f /var/run/rpc.statd.pid 59 rm -f /var/lock/subsys/nfslock 60} 61 62# See how we were called. 63case "$1" in 64 start) 65 start 66 ;; 67 stop) 68 stop 69 ;; 70 restart) 71 stop 72 start 73 ;; 74 reload) 75 /usr/sbin/exportfs -r 76 touch /var/lock/subsys/nfs 77 ;; 78 *) 79 echo "Usage: $0 {start|stop|restart|reload}" 80 exit 1 81esac 82 83exit 0 84