#!/bin/sh # # nfsfs Mount NFS filesystems. # # Version: @(#) /etc/init.d/skeleton 1.01 26-Oct-1993 # # Author: Miquel van Smoorenburg, # # chkconfig: 345 15 88 # description: Mounts and unmounts all Network File System (NFS) \ # mount points. # # $Id$ # Source networking configuration. if [ ! -f /etc/sysconfig/network ]; then exit 0 fi # Source function library. . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down nfsfs exit 1 fi else exit 0 fi # See how we were called. case "$1" in start) run_cmd "Mounting NFS filesystems" mount -a -t nfs touch /var/lock/subsys/nfsfs ;; stop) if [ -f /proc/mounts ]; then fsfile="/proc/mounts" else fsfile="/etc/mtab" fi show "Unmounting NFS filesystems" busy retry=3 remaining=$(awk '$3 == "nfs" {print $2}' $fsfile) while [ -n "$remaining" -a $retry -gt 0 ]; do fuser -msk -TERM `awk '$3 == "nfs" {print $2}' < $fsfile` sleep 2 fuser -msk -KILL `awk '$3 == "nfs" {print $2}' < $fsfile` umount -a -f -t nfs remaining=$(awk '$3 == "nfs" {print $2}' $fsfile) retry=$(($retry-1)) done ok rm -f /var/lock/subsys/nfsfs ;; status) if [ -f /proc/mounts ]; then echo "Configured NFS mountpoints:" grep -v '^#' /etc/fstab | \ awk '{ if ($3 ~ /^nfs$/ && $4 !~ /noauto/) print $2}' echo "Active NFS mountpoints:" grep -v '^#' /proc/mounts | \ awk '{ if ($3 ~ /^nfs$/ && $4 !~ /noauto/) print $2}' else echo "/proc filesystem unavailable" fi ;; restart) $0 stop $0 start ;; reload|force-reload) mount -a -t nfs ;; *) msg_usage "$0 {start|stop|restart|reload|force-reload|status}" exit 3 esac exit 0