]> git.decadent.org.uk Git - nfs-utils.git/blob - debian/nfs-kernel-server.init
Debian build support.
[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 # Make sure that daemon cwds are in root fs.
25 cd /
26
27 # See how we were called.
28 case "$1" in
29   start)
30         if grep -q '^/' /etc/exports; then
31                 printf "Exporting directories for $DESC..."
32                 $PREFIX/sbin/exportfs -r
33                 echo "done."
34
35                 printf "Starting $DESC:"
36                 printf " nfsd"
37                 start-stop-daemon --start --quiet \
38                     --exec $PREFIX/sbin/rpc.nfsd -- $RPCNFSDCOUNT
39                 printf " mountd"
40                 $PREFIX/bin/rpcinfo -u localhost nfs 3 > /dev/null 2>&1 ||
41                     RPCMOUNTDOPTS="$RPCMOUNDOPTS --no-nfs-version 3"
42                 start-stop-daemon --start --quiet \
43                     --exec $PREFIX/sbin/rpc.mountd -- $RPCMOUNTDOPTS
44                 echo "."
45         else
46                 echo "Not starting $DESC: No exports."
47         fi
48         ;;
49
50   stop)
51         printf "Stopping $DESC: mountd"
52         start-stop-daemon --stop --oknodo --quiet \
53             --exec $PREFIX/sbin/rpc.mountd
54         printf " nfsd"
55         start-stop-daemon --stop --oknodo --quiet \
56             --name nfsd --user root --signal 2
57         echo "."
58
59         printf "Unexporting directories for $DESC..."
60         $PREFIX/sbin/exportfs -au
61         echo "done."
62         ;;
63
64   reload | force-reload)
65         printf "Re-exporting directories for $DESC..."
66         $PREFIX/sbin/exportfs -r
67         echo "done."
68         ;;
69
70   restart)
71         $0 stop
72         sleep 1
73         $0 start
74         ;;
75
76   *)
77         echo "Usage: nfs-kernel-server {start|stop|reload|force-reload|restart}"
78         exit 1
79         ;;
80 esac
81
82 exit 0
83