#!/bin/sh # # nfs This shell script takes care of starting and stopping # the NFS services. # # chkconfig: 234 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. # probe: true WITHOUT_RC_COMPAT=1 # Source function library. . /etc/init.d/functions # Source networking configuration. # Check that networking is up. SourceIfNotEmpty /etc/sysconfig/network && [ "$NETWORKING" != no ] || exit SourceIfNotEmpty /etc/sysconfig/vserver NFSD=unfsd BINARY=/usr/sbin/$NFSD # you should have this file existing and correct # for NFS to function: EXPORTS=/etc/exports [ -x "$BINARY" ] || exit SourceIfNotEmpty /etc/sysconfig/nfs SourceIfNotEmpty /etc/sysconfig/unfs3 LOCKFILE=/var/lock/subsys/nfs PIDFILE=/var/run/nfs.pid RETVAL=0 conftest() { # Don't start anything when exports is empty [ -s "$EXPORTS" ] || return action "Checking configuration sanity for NFS: " "$BINARY" -T RETVAL=$? return $RETVAL } start() { start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- $NFSD -i $PIDFILE $UNFS_OPTS RETVAL=$? return $RETVAL } stop() { stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- $NFSD RETVAL=$? return $RETVAL } restart() { conftest || exit $? stop start } reload() { conftest || exit $? echo -n "Reexporting NFS file systems: " stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP $NFSD RETVAL=$? return $RETVAL } statii() { status --lockfile "$LOCKFILE" --pidfile "$PIDFILE" --expect-user root -- $NFSD RETVAL=$? } # See how we were called. case "$1" in start) conftest || exit $? start ;; stop) stop ;; restart) restart ;; reload) reload ;; condstop) if [ -e "$LOCKFILE" ]; then stop fi ;; condrestart) if [ -e "$LOCKFILE" ]; then restart fi ;; check) conftest ;; status) statii ;; *) msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|check|status}" RETVAL=1 esac exit $RETVAL