Advertisement
m4ly

WebLogic NodeManager init.d

Aug 20th, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.70 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # chkconfig:   345 80 20
  4. # description: per domain Oracle Weblogic Node Manager service init script
  5. # author: http://docs.oracle.com/middleware/1213/wls/NODEM/java_nodemgr.htm#NODEM247 modofied by Dawid Mocek
  6.  
  7. ### BEGIN INIT INFO
  8. # Provides: example_domain-nodemanager
  9. # Required-Start: $network $local_fs
  10. # Required-Stop:
  11. # Should-Start:
  12. # Should-Stop:
  13. # Default-Start: 3 4 5
  14. # Default-Stop: 0 1 2 6
  15. # Short-Description: per domain Oracle Weblogic Node Manager service.
  16. # Description: Starts and stops per domain Oracle Weblogic Node Manager.
  17. ### END INIT INFO
  18.  
  19. . /etc/rc.d/init.d/functions
  20.  
  21. #### BEGIN CUSTOM ENV
  22. MW_HOME=/opt/oracle/middleware
  23. DOMAIN_HOME="$MW_HOME/user_projects/domains/example_domain"
  24. LD_LIBRARY_PATH="$MW_HOME/wlserver/server/native/linux/x86_64:/usr/lib64:/usr/lib:/lib:/usr/X11R6/lib"
  25. JAVA_HOME=/usr/java/latest
  26. JAVA_USER=oracle
  27. #### END CUSTOM ENV
  28.  
  29. PROCESS_STRING="^.*$DOMAIN_HOME.*weblogic.NodeManager.*"
  30. PROGRAM_START="$DOMAIN_HOME/bin/startNodeManager.sh"
  31. NODEMANAGER_DIR="$DOMAIN_HOME/nodemanager"
  32. NODEMANAGER_LOCKFILE="$NODEMANAGER_DIR/nodemanager.log.lck"
  33. OUT_FILE="$NODEMANAGER_DIR/nodemanager.out"
  34. WAIT_TIME=600
  35. SERVICE_NAME=`/bin/basename $0`
  36. LOCKFILE="/var/lock/subsys/$SERVICE_NAME"
  37.  
  38. RETVAL=0
  39.  
  40. start() {
  41.         OLDPID=`/usr/bin/pgrep -f $PROCESS_STRING`
  42.         if [ ! -z "$OLDPID" ]; then
  43.             echo "$SERVICE_NAME is already running (pid $OLDPID) !"
  44.             echo
  45.             exit
  46.         fi
  47.         echo -n $"Starting $SERVICE_NAME ... "
  48.  
  49. su --login $JAVA_USER  <<EOF
  50.                 echo "`date` Starting $SERVICE_NAME ... " > "$OUT_FILE" 2>&1
  51.                 export MW_HOME
  52.                 export JAVA_HOME
  53.                 export LD_LIBRARY_PATH
  54.                 $PROGRAM_START >> "$OUT_FILE" 2>&1  &
  55. EOF
  56. #^^ ! przed markerem EOF nie moze byc bialego znaku !
  57.  
  58.         RETVAL=$?
  59.         if [ $RETVAL -eq 0 ] ; then
  60.           wait_for "socket listener started on port"
  61.         else
  62.           echo "FAILED: $RETVAL. Please check $OUT_FILE for more information."
  63.         fi
  64.         echo
  65. }
  66.  
  67. wait_for() {
  68.     res=$(cat "$OUT_FILE" | fgrep -c "$1")
  69.     count=$WAIT_TIME
  70.     while [[ ! $res -gt 0 ]] && [[ $count -gt 0 ]]
  71.     do
  72.         sleep 1
  73.         count=$(($count - 1))
  74.         res=$(cat "$OUT_FILE" | fgrep -c "$1")
  75.     done
  76.     res=$(cat "$OUT_FILE" | fgrep -c "$1")
  77.     if [ ! $res -gt 0 ]; then
  78.         echo "FAILED or took too long time to start or started on time. Please check $OUT_FILE for more information."
  79.     else
  80.         echo "OK"
  81.         touch $LOCKFILE
  82.     fi
  83. }
  84.  
  85. stop() {
  86.         echo -n $"Stopping $SERVICE_NAME ... "
  87.         OLDPID=`/usr/bin/pgrep -f $PROCESS_STRING`
  88.         if [ "$OLDPID" != "" ]; then
  89.             echo -n "(pid $OLDPID) "
  90.             /bin/kill -TERM $OLDPID
  91.  
  92.             RETVAL=$?
  93.             echo "OK"
  94.             /bin/rm -f $NODEMANAGER_LOCKFILE
  95.             [ $RETVAL -eq 0 ] && rm -f $LOCKFILE
  96.         else
  97.             /bin/echo "$SERVICE_NAME is stopped"
  98.         fi
  99.         echo
  100. }
  101.  
  102. restart() {
  103.         stop
  104.         sleep 10
  105.         start
  106. }
  107.  
  108. case "$1" in
  109.   start)
  110.         start
  111.         ;;
  112.   stop)
  113.         stop
  114.         ;;
  115.   restart|force-reload|reload)
  116.         restart
  117.         ;;
  118.   condrestart|try-restart)
  119.         [ -f $LOCKFILE ] && restart
  120.         ;;
  121.   status)
  122.         OLDPID=`/usr/bin/pgrep -f $PROCESS_STRING`
  123.         if [ "$OLDPID" != "" ]; then
  124.             /bin/echo "$SERVICE_NAME is running (pid: $OLDPID)"
  125.         else
  126.             /bin/echo "$SERVICE_NAME is stopped"
  127.         fi
  128.         echo
  129.         RETVAL=$?
  130.         ;;
  131.   *)
  132.         echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
  133.         exit 1
  134. esac
  135.  
  136. exit $RETVAL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement