| #!/bin/sh |
| # |
| # nfs This shell script takes care of starting and stopping |
| # the NFS services. Stolen from RedHat FC5. |
| |
| [ -x /usr/sbin/rpc.statd ] || exit 0 |
| [ -x /usr/sbin/rpc.nfsd ] || exit 0 |
| [ -x /usr/sbin/rpc.mountd ] || exit 0 |
| [ -x /usr/sbin/exportfs ] || exit 0 |
| |
| mkdir -p /var/lock/subsys |
| mkdir -p /run/nfs/sm |
| mkdir -p /run/nfs/sm.bak |
| touch /run/nfs/rmtab |
| |
| CFG_FILE=/etc/default/nfsd |
| |
| NR_THREADS=2 |
| if [ -f "${CFG_FILE}" ]; then |
| . "${CFG_FILE}" |
| fi |
| |
| |
| start() { |
| # Start daemons. |
| printf "Starting NFS statd: " |
| rpc.statd |
| [ $? = 0 ] && echo "OK" || echo "FAIL" |
| touch /var/lock/subsys/nfslock |
| |
| printf "Starting NFS services: " |
| /usr/sbin/exportfs -r |
| [ $? = 0 ] && echo "OK" || echo "FAIL" |
| |
| printf "Starting NFS daemon: " |
| rpc.nfsd ${NR_THREADS} |
| [ $? = 0 ] && echo "OK" || echo "FAIL" |
| |
| printf "Starting NFS mountd: " |
| rpc.mountd |
| [ $? = 0 ] && echo "OK" || echo "FAIL" |
| touch /var/lock/subsys/nfs |
| } |
| |
| stop() { |
| # Stop daemons. |
| printf "Shutting down NFS mountd: " |
| killall -q rpc.mountd 2>/dev/null |
| [ $? = 0 ] && echo "OK" || echo "FAIL" |
| |
| printf "Shutting down NFS daemon: " |
| killall -q nfsd 2>/dev/null |
| [ $? = 0 ] && echo "OK" || echo "FAIL" |
| |
| printf "Shutting down NFS services: " |
| /usr/sbin/exportfs -au |
| [ $? = 0 ] && echo "OK" || echo "FAIL" |
| |
| printf "Stopping NFS statd: " |
| killall -q rpc.statd 2>/dev/null |
| [ $? = 0 ] && echo "OK" || echo "FAIL" |
| rm -f /var/lock/subsys/nfs |
| rm -f /var/run/rpc.statd.pid |
| rm -f /var/lock/subsys/nfslock |
| } |
| |
| # See how we were called. |
| case "$1" in |
| start) |
| start |
| ;; |
| stop) |
| stop |
| ;; |
| restart) |
| stop |
| start |
| ;; |
| reload) |
| /usr/sbin/exportfs -r |
| touch /var/lock/subsys/nfs |
| ;; |
| *) |
| echo "Usage: $0 {start|stop|restart|reload}" |
| exit 1 |
| esac |
| |
| exit 0 |