]> git.decadent.org.uk Git - nfs-utils.git/blob - debian/nfs-kernel-server.init
2001-06-15 Chip Salzenberg <chip@debian.org>
[nfs-utils.git] / debian / nfs-kernel-server.init
1 #!/bin/sh
2 #
3 # nfs-kernel-server
4 #               This shell script takes care of starting and stopping
5 #               the kernel-mode NFS server.
6 #
7 # chkconfig: 345 60 20
8 # description: NFS is a popular protocol for file sharing across TCP/IP \
9 #              networks. This service provides NFS server functionality, \
10 #              which is configured via the /etc/exports file.
11 #
12
13 PREFIX=/usr
14 [ -x $PREFIX/sbin/rpc.nfsd ] || exit 0
15 [ -x $PREFIX/sbin/rpc.mountd ] || exit 0
16 [ -x $PREFIX/sbin/exportfs ] || exit 0
17
18 # What is this?
19 DESC="NFS kernel daemon"
20
21 RPCNFSDCOUNT=8  # Number of servers to be started up by default
22 RPCMOUNTDOPTS=
23
24 # See how we were called.
25 case "$1" in
26   start)
27         cd /    # daemons should have root dir as cwd
28         if grep -q '^/' /etc/exports; then
29                 printf "Exporting directories for $DESC..."
30                 $PREFIX/sbin/exportfs -r
31                 echo "done."
32
33                 printf "Starting $DESC:"
34                 printf " nfsd"
35                 start-stop-daemon --start --quiet \
36                     --exec $PREFIX/sbin/rpc.nfsd -- $RPCNFSDCOUNT
37                 printf " mountd"
38                 $PREFIX/bin/rpcinfo -u localhost nfs 3 > /dev/null 2>&1 ||
39                     RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3"
40                 start-stop-daemon --start --quiet \
41                     --exec $PREFIX/sbin/rpc.mountd -- $RPCMOUNTDOPTS
42                 echo "."
43         else
44                 echo "Not starting $DESC: No exports."
45         fi
46         ;;
47
48   stop)
49         printf "Stopping $DESC: mountd"
50         start-stop-daemon --stop --oknodo --quiet \
51             --exec $PREFIX/sbin/rpc.mountd
52         printf " nfsd"
53         start-stop-daemon --stop --oknodo --quiet \
54             --name nfsd --user root --signal 2
55         echo "."
56
57         printf "Unexporting directories for $DESC..."
58         $PREFIX/sbin/exportfs -au
59         echo "done."
60         ;;
61
62   reload | force-reload)
63         printf "Re-exporting directories for $DESC..."
64         $PREFIX/sbin/exportfs -r
65         echo "done."
66         ;;
67
68   restart)
69         $0 stop
70         sleep 1
71         $0 start
72         ;;
73
74   *)
75         echo "Usage: nfs-kernel-server {start|stop|reload|force-reload|restart}"
76         exit 1
77         ;;
78 esac
79
80 exit 0
81