#
# description: Manages all PLC services on this machine
#
-# $Id: host.init,v 1.2 2006/03/27 22:01:36 mlhuang Exp $
+# $Id: host.init,v 1.5 2006/04/18 15:39:34 thierry Exp $
#
PATH=/sbin:/bin:/usr/bin:/usr/sbin
fi
}
-start ()
+mount_plc ()
{
echo -n $"Mounting PLC: "
[ $ERRORS -eq 0 ] && success $"PLC unmount" || failure $"PLC unmount"
echo
- chroot $PLC_ROOT /sbin/service plc $PLC_OPTIONS start
- check
}
-stop ()
+start ()
{
- if mounted $PLC_ROOT ; then
- chroot $PLC_ROOT /sbin/service plc $PLC_OPTIONS stop
- check
- fi
+ mount_plc
+ chroot $PLC_ROOT /sbin/service plc $PLC_OPTIONS start $*
+ check
+}
+
+umount_plc ()
+{
echo -n $"Unmounting PLC: "
for dir in $PLC_ROOT/proc $PLC_ROOT/data $PLC_ROOT ; do
echo
}
-case "$1" in
+stop ()
+{
+ if mounted $PLC_ROOT ; then
+ chroot $PLC_ROOT /sbin/service plc $PLC_OPTIONS stop $*
+ check
+ fi
+
+ umount_plc
+
+}
+
+mount_status ()
+{
+ lines=$(mount | grep $PLC_ROOT)
+ if [ -z "$lines" ] ; then
+ echo "==== $PLC_ROOT is *not* mounted"
+ else
+ echo "==== The following mount points remain active"
+ echo "$lines"
+ fi
+}
+
+# Get command
+shift $(($OPTIND - 1))
+command=$1
+
+# Get step(s)
+shift 1
+
+case "$command" in
start|stop)
- $1
+ $command $*
;;
restart)
- stop
- start
+ stop $*
+ start $*
;;
+ mount|umount)
+ ${command}_plc $*
+ ;;
+
+ mountstatus)
+ mount_status $*
+ ;;
+
*)
- echo "Usage: $0 {start|stop|restart}"
+ echo "Usage: $0 {start|stop|restart|mount|umount|mountstatus}"
RETVAL=1
;;
esac