125 lines
3.5 KiB
Plaintext
125 lines
3.5 KiB
Plaintext
|
#!/bin/sh
|
||
|
|
||
|
. /etc/rc.common
|
||
|
|
||
|
# Adempiere Service script for OS/X
|
||
|
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
|
||
|
export POSTGRES_HOME=/Library/PostgreSQL/8.3
|
||
|
export ADEMPIERE_HOME=/Applications/Adempiere
|
||
|
export PATH=$PATH:$JAVA_HOME/bin/:$POSTGRES_HOME/bin/
|
||
|
EXECDIR=/Applications/Adempiere
|
||
|
ENVFILE=/etc/profile
|
||
|
RETVAL=0
|
||
|
ADEMPIERESTATUS=
|
||
|
MAXITERATIONS=60 # 2 seconds every iteration, max wait 2 minutes)
|
||
|
|
||
|
RunService ()
|
||
|
{
|
||
|
case $1 in
|
||
|
start ) StartService ;;
|
||
|
stop ) StopService ;;
|
||
|
restart) RestartService ;;
|
||
|
status ) StatusService ;;
|
||
|
* ) echo "$0: unknown argument: $1";;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
|
||
|
StatusService ()
|
||
|
{
|
||
|
ADEMPIERESTATUSSTRING=$(ps ax | grep -v grep | grep server| grep $EXECDIR)
|
||
|
echo $ADEMPIERESTATUSSTRING | grep $EXECDIR
|
||
|
#ADEMPIERESTATUS=$?
|
||
|
}
|
||
|
|
||
|
StartService ()
|
||
|
{
|
||
|
ADEMPIERESTATUS=$(ps ax | grep -v grep | grep server| grep $EXECDIR|wc -l)
|
||
|
if [ $ADEMPIERESTATUS != 0 ] ; then
|
||
|
ConsoleMessage "adempiere is already running"
|
||
|
return 1
|
||
|
fi
|
||
|
ConsoleMessage "Starting ADempiere ERP: "
|
||
|
export LOGFILE=$ADEMPIERE_HOME/jboss/server/adempiere/log/adempiere_`date +%Y%m%d%H%M%S`.log
|
||
|
export LOOKFILE=$ADEMPIERE_HOME/jboss/server/adempiere/log/server.log
|
||
|
su root -c "cd $EXECDIR/utils;$EXECDIR/utils/RUN_Server2.sh &> $LOGFILE &"
|
||
|
RETVAL=$?
|
||
|
if [ $RETVAL -eq 0 ] ; then
|
||
|
# wait for server to be confirmed as started in logfile
|
||
|
STATUSTEST=0
|
||
|
ITERATIONS=0
|
||
|
while [ $STATUSTEST -eq 0 ] ; do
|
||
|
sleep 2
|
||
|
tail -n 5 $LOOKFILE | grep 'Server\].*Started in' &> /dev/null && STATUSTEST=1
|
||
|
ITERATIONS=`expr $ITERATIONS + 1`
|
||
|
if [ $ITERATIONS -gt $MAXITERATIONS ]
|
||
|
then
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
if [ $STATUSTEST -eq 0 ]
|
||
|
then
|
||
|
ConsoleMessage "Service hasn't started within the timeout allowed, please review file $LOGFILE to see the status of the service"
|
||
|
else
|
||
|
ConsoleMessage "Adempiere Started"
|
||
|
fi
|
||
|
echo
|
||
|
else
|
||
|
ConsoleMessage "Admpiere Failed"
|
||
|
echo
|
||
|
fi
|
||
|
return $RETVAL
|
||
|
}
|
||
|
|
||
|
StopService()
|
||
|
{
|
||
|
ADEMPIERESTATUS=$(ps ax | grep -v grep | grep server| grep $EXECDIR|wc -l)
|
||
|
if [ $ADEMPIERESTATUS = 0 ] ; then
|
||
|
echo "adempiere is already stopped"
|
||
|
return 1
|
||
|
fi
|
||
|
ConsoleMessage "Stopping ADempiere ERP: "
|
||
|
export LASTLOG=`ls -t $ADEMPIERE_HOME/jboss/server/adempiere/log/adempiere_??????????????.log | head -1`
|
||
|
export LOOKFILE=$ADEMPIERE_HOME/jboss/server/adempiere/log/server.log
|
||
|
su root -c "cd $EXECDIR/utils;$EXECDIR/utils/RUN_Server2Stop.sh &> /dev/null &"
|
||
|
RETVAL=$?
|
||
|
if [ $RETVAL -eq 0 ] ; then
|
||
|
# wait for server to be confirmed as halted in logfile
|
||
|
STATUSTEST=0
|
||
|
ITERATIONS=0
|
||
|
while [ $STATUSTEST -eq 0 ] ; do
|
||
|
sleep 2
|
||
|
tail -n 5 $LOOKFILE | grep 'Shutdown complete' &> /dev/null && STATUSTEST=1
|
||
|
ITERATIONS=`expr $ITERATIONS + 1`
|
||
|
if [ $ITERATIONS -gt $MAXITERATIONS ]
|
||
|
then
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
if [ $STATUSTEST -eq 0 ]
|
||
|
then
|
||
|
ConsoleMessage "Service hasn't stopped within the timeout allowed, please review file $LASTLOG to see the status of the service"
|
||
|
else
|
||
|
ConsoleMessage "Adempiere Stopped"
|
||
|
fi
|
||
|
echo
|
||
|
else
|
||
|
ConsoleMessage "Adempiere Failed to Stop"
|
||
|
echo
|
||
|
fi
|
||
|
return $RETVAL
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
RestartService ()
|
||
|
{
|
||
|
StopService
|
||
|
sleep 2
|
||
|
StartService
|
||
|
}
|
||
|
|
||
|
|
||
|
RunService "$1"
|