1#!/bin/sh 2 3cd `dirname $0` 4. ./settings.sh 5 6if [ -n "$PID_FILE" -a -f "$PID_FILE" ]; then 7 PID=`cat "$PID_FILE"` 8 if ps -p "$PID" > /dev/null 2>&1; then 9 echo "Zabbix Java Gateway is already running" 10 exit 1 11 fi 12 rm -f "$PID_FILE" 13fi 14 15JAVA=${JAVA:-java} 16 17JAVA_OPTIONS="$JAVA_OPTIONS -server" 18if [ -z "$PID_FILE" ]; then 19 JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=logback-console.xml" 20fi 21 22CLASSPATH="lib" 23for jar in lib/*.jar bin/*.jar; do 24 CLASSPATH="$CLASSPATH:$jar" 25done 26 27ZABBIX_OPTIONS="" 28if [ -n "$PID_FILE" ]; then 29 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.pidFile=$PID_FILE" 30fi 31if [ -n "$LISTEN_IP" ]; then 32 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.listenIP=$LISTEN_IP" 33fi 34if [ -n "$LISTEN_PORT" ]; then 35 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.listenPort=$LISTEN_PORT" 36fi 37if [ -n "$START_POLLERS" ]; then 38 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.startPollers=$START_POLLERS" 39fi 40if [ -n "$TIMEOUT" ]; then 41 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.timeout=$TIMEOUT" 42fi 43if [ -n "$PROPERTIES_FILE" ]; then 44 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.propertiesFile=$PROPERTIES_FILE" 45fi 46 47tcp_timeout=${TIMEOUT:=3}000 48ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dsun.rmi.transport.tcp.responseTimeout=$tcp_timeout" 49 50COMMAND_LINE="$JAVA $JAVA_OPTIONS -classpath $CLASSPATH $ZABBIX_OPTIONS com.zabbix.gateway.JavaGateway" 51 52if [ -n "$PID_FILE" ]; then 53 54 # check that the PID file can be created 55 56 touch "$PID_FILE" 57 if [ $? -ne 0 ]; then 58 echo "Zabbix Java Gateway did not start: cannot create PID file" 59 exit 1 60 fi 61 62 # start the gateway and output pretty errors to the console 63 64 STDOUT=`$COMMAND_LINE & echo $! > "$PID_FILE"` 65 if [ -n "$STDOUT" ]; then 66 echo "$STDOUT" 67 fi 68 69 # verify that the gateway started successfully 70 71 PID=`cat "$PID_FILE"` 72 ps -p "$PID" > /dev/null 2>&1 73 if [ $? -ne 0 ]; then 74 echo "Zabbix Java Gateway did not start" 75 rm -f "$PID_FILE" 76 exit 1 77 fi 78 79else 80 exec $COMMAND_LINE 81fi 82