今天沒什麼奉獻給大家的,發個Domino啟停腳本吧,有人還是需要的,省得求爺告奶去找了.可在AIX 上運行無誤。 如果侵犯了作者的著作權,請發帖告知。 (本貼純屬轉載,如有雷同不勝榮幸。) ############################################################ #!/bin/ksh # Domino Server for HP-UX Startup Script # Provides automatic startup and shutdown of the Lotus # Domino Server #############################################################
# Script environment variables
NOTES_USER=<notesN> # HP-UX Userid for this server NOTES_PATH=<Domino Data Directory> # Data directory for this server NOTES_SERVER=<Domino Server CommonName> # Name of Domino Server OUTPUT_LOG=/tmp/"console_$NOTES_SERVER.out" # Output file for server console INPUT_FILE=/tmp/"console_$NOTES_SERVER.in" # Input file for server console export NOTES_USER NOTES_PATH NOTES_SERVER OUTPUT_LOG INPUT_FILE
# the argument "start" ,"stop" or "monitor"will be passed as the first argument.
case $1 in
"start")
if [ ! -x /opt/lotus/bin/server ] ; then echo "Cannot access server command - exiting" exit 1 fi
if [ -f $INPUT_FILE ] ; then rm $INPUT_FILE fi
touch $INPUT_FILE
if [ ! -d $NOTES_PATH ] ; then echo "Cannot access Domino data directory - exiting" exit 1 fi
NOTES_RUNNING=`ps -fu $NOTES_USER | grep lotus | grep -v grep ` if [[ -n $NOTES_RUNNING ]] ; then echo "Domino Server is already running - exiting" exit 1 fi
cd $NOTES_PATH
rm -f ~notes.lck
mems=`ipcs | grep $NOTES_USER | awk '{ print $1 $2 }' | awk -F"m" '{ print $2 }' | awk '{ print $1 }'` sems=`ipcs | grep $NOTES_USER | awk '{ print $1 $2 }' | awk -F"s" '{ print $2 }' | awk '{ print $1 }'` for j in $mems;do if [ -n "$j" ] ; then ipcrm -m $j;fi;done for j in $sems;do if [ -n "$j" ] ; then ipcrm -s $j;fi;done
PCOUNT=`ps -fu $NOTES_USER | grep /opt/lotus | grep -v grep | awk '{ print $2 }' | wc -w` if [ $PCOUNT -lt 1 ]; then echo "" echo "The Domino for HP-UX ($NOTES_SERVER) does not appear to be started. Monitor terminating." echo "" exit 1 fi
trap "stop_monitor" 1 2 3
echo "" echo "******************************************************************" echo " To exit this monitor enter a <CTRL>-C" echo "******************************************************************" echo ""
tail -f $OUTPUT_LOG >> $CURRENT_TTY & TAILPID=$!
while [ 1 -eq 1 ] ; do CMD="" OPT="" read CMD OPT case $CMD in "cls") clear echo "" >> $INPUT_FILE ;; "CLS") clear echo "" >> $INPUT_FILE ;; "clear") if [[ "$OPT" = "log" || "$OPT" = "LOG" ]]; then echo "Log cleared on `date`" > $OUTPUT_LOG echo "" >> $OUTPUT_LOG fi echo "" >> $INPUT_FILE ;; "CLEAR") if [[ "$OPT" = "log" || "$OPT" = "LOG" ]]; then echo "Log cleared on `date`" > $OUTPUT_LOG echo "" >> $OUTPUT_LOG fi echo "" >> $INPUT_FILE ;; "exit") echo "If you want to quit monitor console, enter <CTRL>-C" >> $OUTPUT_LOG echo "If you want to EXIT domino server, enter command 'shutdown' " >> $OUTPUT_LOG echo ">" >> $OUTPUT_LOG ;; "quit") echo "If you want to quit monitor console, enter <CTRL>-C" >> $OUTPUT_LOG echo "If you want to EXIT domino server, enter command 'shutdown' " >> $OUTPUT_LOG echo ">" >> $OUTPUT_LOG ;; "q") echo "If you want to quit monitor console, enter <CTRL>-C" >> $OUTPUT_LOG echo "If you want to EXIT domino server, enter command 'shutdown' " >> $OUTPUT_LOG echo ">" >> $OUTPUT_LOG ;; "shutdown") echo "quit" >> $INPUT_FILE ;; "EXIT") echo "If you want to quit monitor console, enter <CTRL>-C" >> $OUTPUT_LOG echo "If you want to EXIT domino server, enter command 'shutdown' " >> $OUTPUT_LOG echo ">" >> $OUTPUT_LOG ;; "QUIT") echo "If you want to quit monitor console, enter <CTRL>-C" >> $OUTPUT_LOG echo "If you want to EXIT domino server, enter command 'shutdown' " >> $OUTPUT_LOG echo ">" >> $OUTPUT_LOG ;; "Q") echo "If you want to quit monitor console, enter <CTRL>-C" >> $OUTPUT_LOG echo "If you want to EXIT domino server, enter command 'shutdown' " >> $OUTPUT_LOG echo ">" >> $OUTPUT_LOG ;; "SHUTDOWN") echo "quit" >> $INPUT_FILE ;; *) echo $CMD $OPT >> $INPUT_FILE ;; esac done stop_monitor