After a reboot, I'm executing an application from a mounted network share (autofs) using an init.d script. The script starts by waiting 30 seconds before attempting to execute the command, in order to wait for the network/mount point to be up.
I would like to somehow detect that the network is definitively up and the mount has been definitively mounted, before executing the command.
What is your recommendation on how to achieve this (in CentOS 6.4) with this script?
This is what I have now:
#!/bin/bash
#
# chkconfig: 3 95 5
# description: My app
# processname: my-app
#
# Sleep for 30 seconds before attempting to execute command
sleep 30s
# Get function from functions library
. /etc/init.d/functions
# Start the service my-app from autofs mount
start() {
echo -n "Starting my-app: "
/share/path/my-app --log /tmp/log.log --supersede
### Create the lock file ###
touch /var/lock/subsys/my-app
success $"my-app startup"
echo
}
# Restart the service my-app
stop() {
echo -n "Stopping my-app: "
killproc my-app
### Now, delete the lock file ###
rm -f /var/lock/subsys/my-app
echo
}
### main logic ###
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status my-app
;;
restart|reload|condrestart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status}"
exit 1
esac
exit 0