Van egy Domio 6.0 egy Centos4.4 rendszeren. Kezdetben működött az init script, de egy ideje már csak parancssorból indul.
Valamelyik rendszerfrissítés óta nem megy de mivel nem gyakori az újraindítás, nem sokat foglalkoztam vele. A Centos még 4.0 verzióban került a gépre.
Az init közben lesz három processz:
2263 ? 00:00:00 S99domino
2287 ? 00:00:00 su
2412 ? 00:00:00 chvt
És ott vár, amíg az S99domino-t ki nem lövöm.
Ha a gép fut, akkor minden további nélkül működik.
Mi a hiba a szkript-ben szerintetek?
-----------------------------Begin /etc/init.d/domino
#! /bin/sh
#
# System startup script for the Lotus Domino Server
#
#set -ux
# chkconfig: 345 99 99
# description: Start and stop the LOTUS DOMINO mail server.
test -r /etc/default/lotusdomino && . /etc/default/lotusdomino || exit 6
test "$START_DOMINO" = yes || exit 0
NOTES_SERVER=domino
OUTPUT_LOG=/var/log/$NOTES_SERVER
# Set higher values for shared memory and file handles in the kernel
echo "$NOTES_MAXSHAREDMEM" > /proc/sys/kernel/shmmax
echo "$NOTES_SHMMNI" > /proc/sys/kernel/shmmni
echo "$NOTES_SEM" > /proc/sys/kernel/sem
ULIMIT_MAX=1048576
FILE_MAX=$(expr $(cat /proc/sys/fs/file-max) - 2000)
if [ $FILE_MAX -gt $ULIMIT_MAX ]; then
echo "Setting ulimit to 1000000"
ulimit -n 1000000
else
ulimit -n $FILE_MAX
fi
ulimit -u $NOTES_USERPROC
DOMINO_BIN=$LOTUSDIR/bin/server
# nsd script uses /bin/gawk !
if ! which gawk > /dev/null 2>&1; then
echo "GNU awk (gawk) not found - exiting" && exit 1
fi
#if [ ! -L /bin/gawk -o ! -f /bin/gawk ]; then
#echo "/bin/gawk or symlink to /usr/bin/gawk missing - exiting" && exit 1
#fi
case "$1" in
start)
if [ ! -x $DOMINO_BIN ]; then
echo "No Domino binaries - exiting" && exit 1
fi
if [ ! -d $NOTESDATA_PATH ]; then
echo "No Domino data directory - exiting" && exit 1
fi
NOTES_RUNNING=$(ps -fu notes | grep /server | grep -v grep | wc -l)
if [ $NOTES_RUNNING -ne "0" ]; then
echo "Domino Server already running ..." && exit 1
fi
touch /root/dominoindul
echo "Starting Lotus Domino server" > /root/dominoindul
cd $NOTESDATA_PATH
rm -f "~notes.lck"
mems=$(ipcs -m | grep $NOTES_USER | awk '{ print $2 }')
sems=$(ipcs -s | grep $NOTES_USER | awk '{ print $2 }')
for j in $mems; do if [ -n "$j" ]; then ipcrm shm $j > tmp.lck; fi; done
for j in $sems; do if [ -n "$j" ]; then ipcrm sem $j > tmp.lck; fi; done
rm -f "tmp.lck"
echo -n "Starting Lotus Domino server"
#echo "Starting Lotus Domino server" >> /root/dominoindul
su - $NOTES_USER -c "$DOMINO_BIN > $OUTPUT_LOG 2>&1 &"
#su -l - $NOTES_USER -c "$DOMINO_BIN > $OUTPUT_LOG &"
sleep 5
echo "."
;;
stop)
echo "Shutting down Lotus Domino server"
echo "... waiting for shutdown to complete"
cd $NOTESDATA_PATH
su - $NOTES_USER -c "$DOMINO_BIN -quit" >> $OUTPUT_LOG
#
#
count=0
NOTES_RUNNING=$(ps -fu $NOTES_USER | grep /server | grep -v grep | wc -l)
while [ $NOTES_RUNNING -ne "0" ]; do
sleep 10
count=$(expr $count + 1)
echo ".. waiting "$count"0 seconds"
if [ $count -eq 7 ]; then
echo "Domino is still running after 1 minute"
echo "... now for the ungraceful method"
cd $NOTESDATA_PATH
rm -f "~notes.lck"
su $NOTES_USER -c "$LOTUSDIR/bin/nsd -kill"
cd -
fi
NOTES_RUNNING=$(ps -fu $NOTES_USER | grep /server | grep -v grep | wc -l)
done
echo -n "Domino server shutdown completed"
echo "."
;;
try-restart)
## Stop the service and if this succeeds (i.e. the
## service was running before), start it again.
$0 status >/dev/null && $0 restart
;;
restart)
## Stop the service and regardless of whether it was
## running or not, start it again.
$0 stop
sleep 1
$0 start
;;
status)
echo -n "Checking for Lotus Domino: "
NOTES_RUNNING=$(ps -fu $NOTES_USER | grep /server | grep -v grep | wc -l)
if [ $NOTES_RUNNING -gt "0" ]; then
echo "up and running ..."
else
echo No process
fi
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart}"
exit 1
;;
esac
exit 0
-------------------------------------End-----------------------------------------------------