blob: 893b1e49a67d6027363d486678c2da13aaca2e4b [file] [log] [blame]
#!/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