app.docker.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/bin/bash
  2. show_usage="args: [-h, --m, -c]\
  3. [--home, --memory=, --command]"
  4. p_home=$(cd `dirname $0`; pwd)
  5. p_memory="4g"
  6. n_memory="3g"
  7. p_ratio="8"
  8. p_command="start"
  9. agent_home=${p_home}/..
  10. GETOPT_ARGS=`getopt -o h:m:c: -al home:,memory:,command: -- "$@"`
  11. eval set -- "$GETOPT_ARGS"
  12. while [ -n "$1" ]
  13. do
  14. case "$1" in
  15. -h|--home) p_home=$2; shift 2;;
  16. -m|--memory) p_memory=$2; shift 2;;
  17. -c|--command) p_command=$2; shift 2;;
  18. --) break ;;
  19. *) echo $1,$2,${show_usage}; break ;;
  20. esac
  21. done
  22. p_jar=`ls ${p_home} | grep '.jar$'`
  23. md=`echo ${p_jar} | sed 's/\.jar//g'`
  24. start() {
  25. echo "---------------------------------------------"
  26. echo "--------------$md starting----------------"
  27. echo "---------------------------------------------"
  28. javaagent=''
  29. if [ ! -d "${agent_home}/agent" ];then
  30. echo "info: Skywalking agent is not exsits."
  31. elif [ `ls -A ${agent_home}/agent | wc -l` = "0" ];then
  32. echo "info: Skywalking agent is empty."
  33. else
  34. javaagent="-javaagent:${agent_home}/agent/skywalking-agent.jar"
  35. fi
  36. IBPS_JVM_OPTS='-XX:SurvivorRatio=${p_ratio} -Xms${p_memory} -Xmx${p_memory} -Xmn${n_memory}';
  37. if [ -n '${ENV_IBPS_JVM_OPTS}' ] ; then
  38. IBPS_JVM_OPTS=${ENV_IBPS_JVM_OPTS}
  39. fi
  40. java -Djava.awt.headless=true \
  41. -Dfile.encoding=UTF-8 \
  42. -Duser.timezone=GMT+8 \
  43. ${IBPS_JVM_OPTS} \
  44. ${javaagent} \
  45. -jar ${p_home}/${p_jar}
  46. }
  47. stop() {
  48. echo "info: ---------------------------------------------"
  49. echo "info: --------------$md stoping----------------"
  50. echo "info: ---------------------------------------------"
  51. if [ ! -f "$p_home/pid" ];then
  52. echo "info: -- $md is not started."
  53. else
  54. pid=$(cat $p_home/pid)
  55. kill -15 ${pid}
  56. fi
  57. }
  58. # See how we were called.
  59. case "$p_command" in
  60. start)
  61. start
  62. ;;
  63. stop)
  64. stop
  65. ;;
  66. restart|reload)
  67. stop
  68. start
  69. ;;
  70. *)
  71. echo $"Usage: $0 {start|stop|restart|reload}"
  72. exit 1
  73. esac
  74. exit