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