|
Packit |
8480eb |
#!/bin/bash
|
|
Packit |
8480eb |
#
|
|
Packit |
8480eb |
# rc file for automount using a Sun-style "master map".
|
|
Packit |
8480eb |
#
|
|
Packit |
8480eb |
# chkconfig: 345 28 72
|
|
Packit |
8480eb |
# processname: /usr/sbin/automount
|
|
Packit |
8480eb |
# config: /etc/auto.master
|
|
Packit |
8480eb |
# description: Automounts filesystems on demand
|
|
Packit |
8480eb |
#
|
|
Packit |
8480eb |
### BEGIN INIT INFO
|
|
Packit |
8480eb |
# Provides: autofs
|
|
Packit |
8480eb |
# Required-Start: $network ypbind
|
|
Packit |
8480eb |
# Required-Stop: $network ypbind
|
|
Packit |
8480eb |
# Default-Start: 3 4 5
|
|
Packit |
8480eb |
# Default-Stop: 0 1 2 6
|
|
Packit |
8480eb |
# Short-Description: Automounts filesystems on demand
|
|
Packit |
8480eb |
# Description: Automounts filesystems on demand
|
|
Packit |
8480eb |
### END INIT INFO
|
|
Packit |
8480eb |
#
|
|
Packit |
8480eb |
# Location of the automount daemon and the init directory
|
|
Packit |
8480eb |
#
|
|
Packit |
8480eb |
DAEMON=@@sbindir@@/automount
|
|
Packit |
8480eb |
prog=`basename $DAEMON`
|
|
Packit |
8480eb |
MODULE="autofs4"
|
|
Packit |
8480eb |
DEVICE="autofs"
|
|
Packit |
8480eb |
initdir=@@initdir@@
|
|
Packit |
8480eb |
confdir=@@autofsconfdir@@
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
test -e $DAEMON || exit 0
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
if [ -r $initdir/functions ]; then
|
|
Packit |
8480eb |
. $initdir/functions
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
|
Packit |
8480eb |
export PATH
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
#
|
|
Packit |
8480eb |
# load customized configuation settings
|
|
Packit |
8480eb |
#
|
|
Packit |
8480eb |
if [ -r $confdir/autofs ]; then
|
|
Packit |
8480eb |
. $confdir/autofs
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
function start() {
|
|
Packit |
8480eb |
# Make sure autofs4 module is loaded
|
|
Packit |
8480eb |
if ! grep -q autofs /proc/filesystems
|
|
Packit |
8480eb |
then
|
|
Packit |
8480eb |
echo -n "Loading $MODULE: "
|
|
Packit |
8480eb |
# Try load the autofs4 module fail if we can't
|
|
Packit |
8480eb |
modprobe $MODULE >/dev/null 2>&1
|
|
Packit |
8480eb |
RETVAL=$?
|
|
Packit |
8480eb |
if [ $RETVAL -eq 1 ]
|
|
Packit |
8480eb |
then
|
|
Packit |
8480eb |
failure "Load $MODULE"
|
|
Packit |
8480eb |
echo
|
|
Packit |
8480eb |
return $RETVAL
|
|
Packit |
8480eb |
else
|
|
Packit |
8480eb |
success "Load $MODULE"
|
|
Packit |
8480eb |
echo
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
elif ([ -f /proc/modules ] && lsmod) | grep -q autofs[^4]
|
|
Packit |
8480eb |
then
|
|
Packit |
8480eb |
RETVAL=1
|
|
Packit |
8480eb |
failure "Load $MODULE"
|
|
Packit |
8480eb |
echo
|
|
Packit |
8480eb |
return $RETVAL
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
# Check misc device
|
|
Packit |
8480eb |
if [ -n "$USE_MISC_DEVICE" -a "x$USE_MISC_DEVICE" = "xyes" ]; then
|
|
Packit |
8480eb |
sleep 1
|
|
Packit |
8480eb |
if [ -e "/proc/misc" ]; then
|
|
Packit |
8480eb |
MINOR=`awk "/$DEVICE/ {print \\$1}" /proc/misc`
|
|
Packit |
8480eb |
if [ -n "$MINOR" -a ! -c "/dev/$DEVICE" ]; then
|
|
Packit |
8480eb |
mknod -m 0600 /dev/$DEVICE c 10 $MINOR
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
if [ -x /sbin/restorecon -a -c /dev/$DEVICE ]; then
|
|
Packit |
8480eb |
/sbin/restorecon /dev/$DEVICE
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
else
|
|
Packit |
8480eb |
if [ -c /dev/$DEVICE ]; then
|
|
Packit |
8480eb |
rm /dev/$DEVICE
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
echo -n $"Starting $prog: "
|
|
Packit |
8480eb |
$prog $OPTIONS --pid-file @@autofspiddir@@/autofs.pid
|
|
Packit |
8480eb |
RETVAL=$?
|
|
Packit |
8480eb |
if [ $RETVAL -eq 0 ] ; then
|
|
Packit |
8480eb |
success "$prog startup"
|
|
Packit |
8480eb |
else
|
|
Packit |
8480eb |
failure "$prog startup"
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
if [ $RETVAL -eq 0 ]; then
|
|
Packit |
8480eb |
touch /var/lock/subsys/autofs
|
|
Packit |
8480eb |
else
|
|
Packit |
8480eb |
RETVAL=1
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
echo
|
|
Packit |
8480eb |
return $RETVAL
|
|
Packit |
8480eb |
}
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
function stop() {
|
|
Packit |
8480eb |
echo -n $"Stopping $prog: "
|
|
Packit |
8480eb |
count=0
|
|
Packit |
8480eb |
while [ -n "`pidof $prog`" -a $count -lt 15 ] ; do
|
|
Packit |
8480eb |
killproc $prog -TERM >& /dev/null
|
|
Packit |
8480eb |
RETVAL=$?
|
|
Packit |
8480eb |
[ $RETVAL = 0 -a -z "`pidof $prog`" ] || sleep 20
|
|
Packit |
8480eb |
count=`expr $count + 1`
|
|
Packit |
8480eb |
done
|
|
Packit |
8480eb |
if [ $RETVAL -eq 0 ]; then
|
|
Packit |
8480eb |
rm -f /var/lock/subsys/autofs
|
|
Packit |
8480eb |
else
|
|
Packit |
8480eb |
RETVAL=1
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
if [ -n "`pidof $prog`" ] ; then
|
|
Packit |
8480eb |
failure "$prog shutdown"
|
|
Packit |
8480eb |
else
|
|
Packit |
8480eb |
success "$prog shutdown"
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
echo
|
|
Packit |
8480eb |
return $RETVAL
|
|
Packit |
8480eb |
}
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
function restart() {
|
|
Packit |
8480eb |
status autofs > /dev/null 2>&1
|
|
Packit |
8480eb |
if [ $? -eq 0 ]; then
|
|
Packit |
8480eb |
stop
|
|
Packit |
8480eb |
if [ -n "`pidof $prog`" ]; then
|
|
Packit |
8480eb |
# If we failed to stop, try at least one more time
|
|
Packit |
8480eb |
# after waiting a little while
|
|
Packit |
8480eb |
sleep 20
|
|
Packit |
8480eb |
stop
|
|
Packit |
8480eb |
auto_pid=`pidof $prog`
|
|
Packit |
8480eb |
if [ -n "$auto_pid" ]; then
|
|
Packit |
8480eb |
kill -9 $auto_pid
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
start
|
|
Packit |
8480eb |
}
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
function reload() {
|
|
Packit |
8480eb |
if [ ! -f /var/lock/subsys/autofs ]; then
|
|
Packit |
8480eb |
echo $"$prog not running"
|
|
Packit |
8480eb |
RETVAL=1
|
|
Packit |
8480eb |
return $RETVAL
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
pid=`pidof $prog`
|
|
Packit |
8480eb |
if [ -z $pid ]; then
|
|
Packit |
8480eb |
echo $"$prog not running"
|
|
Packit |
8480eb |
RETVAL=1
|
|
Packit |
8480eb |
else
|
|
Packit |
8480eb |
kill -HUP $pid 2> /dev/null
|
|
Packit |
8480eb |
echo $"Reloading maps"
|
|
Packit |
8480eb |
RETVAL=0
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
return $RETVAL
|
|
Packit |
8480eb |
}
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
function usage_message() {
|
|
Packit |
8480eb |
echo $"Usage: $0 {start|forcestart|stop|status|restart|force-reload|forcerestart|reload|condrestart|try-restart|usage}"
|
|
Packit |
8480eb |
}
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
RETVAL=0
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
# allow non-root users to read status / usage
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
case "$1" in
|
|
Packit |
8480eb |
status)
|
|
Packit |
8480eb |
status -p @@autofspiddir@@/autofs.pid -l autofs $prog
|
|
Packit |
8480eb |
exit $?;
|
|
Packit |
8480eb |
;;
|
|
Packit |
8480eb |
usage)
|
|
Packit |
8480eb |
usage_message
|
|
Packit |
8480eb |
exit 0;
|
|
Packit |
8480eb |
;;
|
|
Packit |
8480eb |
esac
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
# Only the root user may change the service status
|
|
Packit |
8480eb |
if [ `id -u` -ne 0 ] && [ "$1" != "status" ]; then
|
|
Packit |
8480eb |
echo "insufficient privilege to change service status"
|
|
Packit |
8480eb |
exit 4
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
case "$1" in
|
|
Packit |
8480eb |
start)
|
|
Packit |
8480eb |
start
|
|
Packit |
8480eb |
;;
|
|
Packit |
8480eb |
forcestart)
|
|
Packit |
8480eb |
OPTIONS="$OPTIONS --force"
|
|
Packit |
8480eb |
start
|
|
Packit |
8480eb |
;;
|
|
Packit |
8480eb |
stop)
|
|
Packit |
8480eb |
stop
|
|
Packit |
8480eb |
;;
|
|
Packit |
8480eb |
restart|force-reload)
|
|
Packit |
8480eb |
restart
|
|
Packit |
8480eb |
;;
|
|
Packit |
8480eb |
forcerestart)
|
|
Packit |
8480eb |
OPTIONS="$OPTIONS --force"
|
|
Packit |
8480eb |
restart
|
|
Packit |
8480eb |
;;
|
|
Packit |
8480eb |
reload)
|
|
Packit |
8480eb |
reload
|
|
Packit |
8480eb |
;;
|
|
Packit |
8480eb |
condrestart|try-restart)
|
|
Packit |
8480eb |
if [ -f /var/lock/subsys/autofs ]; then
|
|
Packit |
8480eb |
restart
|
|
Packit |
8480eb |
fi
|
|
Packit |
8480eb |
;;
|
|
Packit |
8480eb |
*)
|
|
Packit |
8480eb |
usage_message
|
|
Packit |
8480eb |
exit 2
|
|
Packit |
8480eb |
;;
|
|
Packit |
8480eb |
esac
|
|
Packit |
8480eb |
|
|
Packit |
8480eb |
exit $?
|
|
Packit |
8480eb |
|