Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.54 KB | None | 0 0
  1. #!/bin/sh -e
  2. #
  3. # /etc/init.d/jetty -- startup script for jetty 4.2.11
  4. #
  5. # Written by Philipp Meier <meier@meisterbohne.de>
  6. #
  7. ### BEGIN INIT INFO
  8. # Provides: jetty
  9. # Required-Start: $syslog $network
  10. # Required-Stop: $syslog $network
  11. # Should-Start: $local_fs
  12. # Should-Stop: $local_fs
  13. # Default-Start: 2 3 4 5
  14. # Default-Stop: 0 1 6
  15. # Short-Description: Start Jetty
  16. # Description: Start Jetty HTTP server and servlet container.
  17. ### END INIT INFO
  18.  
  19. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  20. NAME=jetty
  21. DESC="Jetty servlet engine"
  22. JETTY_HOME=<%= node.jetty.home %>
  23. START_JAR="$JETTY_HOME/start.jar"
  24.  
  25. # The following variables can be overwritten in /etc/default/jetty
  26.  
  27. # Whether to start jetty (as a daemon) or not
  28. NO_START=0
  29.  
  30. # Run Jetty as this user ID (default: jetty)
  31. # Set this to an empty string to prevent Jetty from starting automatically
  32. JETTY_USER=<%= node.jetty.user %>
  33.  
  34. # The first existing directory is used for JAVA_HOME (if JAVA_HOME is not
  35. # defined in /etc/default/jetty)
  36. JDK_DIRS="
  37. /usr/lib/jvm/java-6-openjdk \
  38. /usr/lib/jvm/java-6-sun \
  39. /usr/lib/jvm/java-1.5.0-sun \
  40. /usr/lib/jvm/java-gcj \
  41. /usr/lib/j2sdk1.6-sun \
  42. /usr/lib/j2sdk1.5-sun \
  43. /usr/lib/j2sdk1.4-sun \
  44. /usr/lib/j2sdk1.4 \
  45. /usr/lib/j2se/1.4 \
  46. /usr/lib/j2sdk1.3 \
  47. /usr/lib/j2se/1.3 \
  48. /usr/lib/kaffe/ \
  49. "
  50.  
  51. # Timeout in seconds for the shutdown of all webapps
  52. JETTY_SHUTDOWN=30
  53.  
  54. # Jetty uses a directory to store temporary files like unpacked webapps
  55. JETTY_TMP=<%= node.jetty.cache %>
  56.  
  57. # End of variables that can be overwritten in /etc/default/jetty
  58.  
  59. # overwrite settings from default file
  60. if [ -f /etc/default/jetty ]; then
  61. . /etc/default/jetty
  62. fi
  63.  
  64. # Check whether jetty is still installed (it might not be if this package was
  65. # removed and not purged)
  66. if [ -r "$START_JAR" ]; then
  67. HAVE_JETTY=1
  68. else
  69. exit 0
  70. fi
  71.  
  72. # Check whether startup has been disabled
  73. if [ "$NO_START" != "0" -a "$1" != "stop" ]; then
  74. [ "$VERBOSE" != "no" ] && echo "Not starting jetty - edit /etc/default/jetty and change NO_START to be 0 (or comment it out).";
  75. exit 0;
  76. fi
  77.  
  78. if [ -z "$JETTY_USER" ]; then
  79. echo "Not starting/stopping $DESC as configured (JETTY_USER is"
  80. echo "empty in /etc/default/jetty)."
  81. exit 0
  82. fi
  83.  
  84. # Look for the right JVM to use
  85. for jdir in $JDK_DIRS; do
  86. if [ -d "$jdir" -a -z "${JAVA_HOME}" ]; then
  87. JAVA_HOME="$jdir"
  88. fi
  89. done
  90. export JAVA_HOME
  91.  
  92. export JAVA="$JAVA_HOME/bin/java"
  93.  
  94. # Set java.awt.headless=true if JAVA_OPTIONS is not set so the
  95. # Xalan XSL transformer can work without X11 display on JDK 1.4+
  96. if [ -z "$JAVA_OPTIONS" ]; then
  97. JAVA_OPTIONS="-Xmx256m \
  98. -Djava.awt.headless=true \
  99. -Djava.io.tmpdir=\"$JETTY_TMP\" \
  100. -Djava.library.path=/usr/lib"
  101. fi
  102. export JAVA_OPTIONS
  103.  
  104. # Define other required variables
  105. PIDFILE="/var/run/$NAME.pid"
  106. LOGDIR="/var/log/jetty"
  107.  
  108. ##################################################
  109. # Check for JAVA_HOME
  110. ##################################################
  111. if [ -z "$JAVA_HOME" ]; then
  112. echo "Could not start $DESC because no Java Development Kit"
  113. echo "(JDK) was found. Please download and install JDK 1.3 or higher and set"
  114. echo "JAVA_HOME in /etc/default/jetty to the JDK's installation directory."
  115. exit 0
  116.  
  117. fi
  118.  
  119. ARGUMENTS="$JAVA_OPTIONS -jar $START_JAR -Djetty.home=$JETTY_HOME OPTIONS=default,jndi,annotations,jsp --pre=/etc/jetty/jetty-logging.xml /etc/jetty/jetty.xml /etc/jetty/jetty-deploy.xml"
  120.  
  121. ##################################################
  122. # Do the action
  123. ##################################################
  124. case "$1" in
  125. start)
  126. if start-stop-daemon --quiet --test --start --pidfile "$PIDFILE" \
  127. --user "$JETTY_USER" --startas "$JAVA" > /dev/null; then
  128.  
  129.  
  130.  
  131. # Look for rotatelogs/rotatelogs2
  132. if [ -x /usr/sbin/rotatelogs ]; then
  133. ROTATELOGS=/usr/sbin/rotatelogs
  134. else
  135. ROTATELOGS=/usr/sbin/rotatelogs2
  136. fi
  137.  
  138. if [ -f $PIDFILE ]
  139. then
  140. echo "$PIDFILE exists, but jetty was not running. Ignoring $PIDFILE"
  141. fi
  142.  
  143. echo -n "Starting $DESC: "
  144. if [ \! -e "$LOGDIR/out.log" ]; then
  145. touch "$LOGDIR/out.log"
  146. chown jetty.adm "$LOGDIR/out.log"
  147. fi
  148. su -p -s /bin/sh "$JETTY_USER" \
  149. -c "$ROTATELOGS \"$LOGDIR/out.log\" 86400" \
  150. < "$LOGDIR/out.log" &
  151. su -p -s /bin/sh "$JETTY_USER" \
  152. -c "$JAVA $ARGUMENTS >> $LOGDIR/out.log 2>&1 & \
  153. echo \$!" > "$PIDFILE"
  154. echo "$NAME."
  155. else
  156. echo "(already running)."
  157. exit 1
  158. fi
  159. ;;
  160.  
  161. stop)
  162. echo -n "Stopping $DESC: "
  163.  
  164. if start-stop-daemon --quiet --test --start --pidfile "$PIDFILE" \
  165. --user "$JETTY_USER" --startas "$JAVA" > /dev/null; then
  166. if [ -x "$PIDFILE" ]; then
  167. echo "(not running but $PIDFILE exists)."
  168. else
  169. echo "(not running)."
  170. fi
  171. else
  172. start-stop-daemon --quiet --stop \
  173. --pidfile "$PIDFILE" --user "$JETTY_USER" \
  174. --startas "$JAVA" > /dev/null
  175. while ! start-stop-daemon --quiet --test --start \
  176. --pidfile "$PIDFILE" --user "$JETTY_USER" \
  177. --startas "$JAVA" > /dev/null; do
  178. sleep 1
  179. echo -n "."
  180. JETTY_SHUTDOWN=`expr $JETTY_SHUTDOWN - 1` || true
  181. if [ $JETTY_SHUTDOWN -ge 0 ]; then
  182. start-stop-daemon --oknodo --quiet --stop \
  183. --pidfile "$PIDFILE" --user "$JETTY_USER" \
  184. --startas "$JAVA"
  185. else
  186. echo -n " (killing) "
  187. start-stop-daemon --stop --signal 9 --oknodo \
  188. --quiet --pidfile "$PIDFILE" \
  189. --user "$JETTY_USER"
  190. fi
  191. done
  192. rm -f "$PIDFILE"
  193. echo "$NAME."
  194. fi
  195. ;;
  196.  
  197. restart|force-reload)
  198. $0 stop $*
  199. sleep 1
  200. $0 start $*
  201. ;;
  202.  
  203. check)
  204. echo "Checking arguments to Jetty: "
  205. echo
  206. echo "PIDFILE = $PIDFILE"
  207. echo "JAVA_OPTIONS = $JAVA_OPTIONS"
  208. echo "JAVA = $JAVA"
  209. echo "JETTY_USER = $JETTY_USER"
  210. echo "ARGUMENTS = $ARGUMENTS"
  211.  
  212. if [ -f $PIDFILE ]
  213. then
  214. echo "Jetty running pid="`cat $PIDFILE`
  215. exit 0
  216. fi
  217. exit 1
  218. ;;
  219.  
  220. *)
  221. echo "Usage: /etc/init.d/jetty {start|stop|restart|force-reload|check}" >&2
  222. exit 1
  223. ;;
  224. esac
  225.  
  226. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement