-#!/bin/bash
+#!/bin/sh
#
-# $Id$
+# autofs automatically mounts filesystems when you use them,
+# and unmounts them later when you are not using them.
#
-# /etc/rc.d/init.d/autofs
+# chkconfig: 2345 72 08
#
-# rc file for automount using a Sun-style "master map".
-# We first look for a local /etc/auto.master, then a YP
-# map with that name
+# description: Script for automount using a Sun-style "master map".
+# We first look for a local /etc/autofs/auto.master, then a YP
+# map with that name
#
-# chkconfig: - 72 08
-# description: automatically mounts filesystems when you use \
-# them, and unmounts them later when you are not using them.
-# processname: automount
-# Note that there may be multiple processes names automount
-# config: /etc/auto.master
-# Note that all other config files are automatically reloaded
-# and may be different on different systems; we can ignore them
-# here
+# processname: automount
+# config: /etc/autofs/auto.master
-# Source function library.
+
+# Source function library
. /etc/rc.d/init.d/functions
-[ -f /usr/sbin/automount ] || exit 0
+# Get network config
+. /etc/sysconfig/network
+
+# Get service config
+[ -f /etc/sysconfig/inetd ] && . /etc/sysconfig/inetd
+
+# Check that networking is up.
+if [ "${NETWORKING}" = "no" ]; then
+ echo "WARNING: Networking is down. Autofs service can't be runed."
+ exit 1
+fi
+
-#
# We can add local options here
# e.g. localoptions='rsize=8192,wsize=8192'
#
# order # to activate all the mount points. It is used to figure out
# the difference of automount points in case of a reload
#
-function getmounts()
+getmounts()
{
#
# Check for local maps to be loaded
#
case "$1" in
start)
- # Check if the automounter is already running?
+ # Check if the service is already running?
if [ ! -f /var/lock/subsys/automount ]; then
- show Starting automounter
- busy
- getmounts | sh
- touch /var/lock/subsys/automount
- deltext
- ok
+ show Starting automounter
+ busy
+ getmounts | sh
+ deltext
+ ok
+ else
+ echo "automount already is running"
fi
+ touch /var/lock/subsys/automount
;;
stop)
show Stopping automounter
- busy
- kill -TERM $(/sbin/pidof /usr/sbin/automount)
+ killproc automount -TERM
rm -f /var/lock/subsys/automount
- deltext
- ok
;;
- reload|restart)
+ restart|reload)
if [ ! -f /var/lock/subsys/automount ]; then
echo "Automounter not running"
exit 1
fi
- echo "Checking for changes to /etc/auto.master ...."
- TMP1=`mktemp /tmp/autofs.XXXXXX` || { echo "could not make temp file" >&2; exit 1; }
- TMP2=`mktemp /tmp/autofs.XXXXXX` || { echo "could not make temp file" >&2; exit 1; }
- getmounts >$TMP1
- ps ax|grep "[0-9]:[0-9][0-9] /usr/sbin/automount " | (
- while read pid tt stat time command; do
- echo "$command" >>$TMP2
- if ! grep -q "^$command" $TMP2; then
- kill -USR2 $pid
- echo "Stop $command"
- fi
- done
- )
- cat $TMP1 | ( while read x; do
- if ! grep -q "^$x" $TMP2; then
- $x
- echo "Start $x"
- fi
- done )
- rm -f $TMP1 $TMP2
+ $0 stop
+ $0 start
;;
status)
echo "Configured Mount Points:"