You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

control 3.0 kB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. #!/bin/bash
  2. # release version
  3. version=3.0.0
  4. CWD=$(cd $(dirname $0)/; pwd)
  5. cd $CWD
  6. usage()
  7. {
  8. echo $"Usage: $0 {start|stop|restart|status|build|pack} <module>"
  9. exit 0
  10. }
  11. start_all()
  12. {
  13. test -x n9e-rdb && start rdb
  14. test -x n9e-job && start job
  15. test -x n9e-ams && start ams
  16. test -x n9e-monapi && start monapi
  17. test -x n9e-tsdb && start tsdb
  18. test -x n9e-index && start index
  19. test -x n9e-transfer && start transfer
  20. test -x n9e-judge && start judge
  21. test -x n9e-agent && start agent
  22. }
  23. start()
  24. {
  25. mod=$1
  26. if [ "x${mod}" = "x" ]; then
  27. usage
  28. return
  29. fi
  30. if [ "x${mod}" = "xall" ]; then
  31. start_all
  32. return
  33. fi
  34. binfile=n9e-${mod}
  35. if [ ! -f $binfile ]; then
  36. echo "file[$binfile] not found"
  37. exit 1
  38. fi
  39. if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -gt 0 ]; then
  40. echo "${mod} already started"
  41. return
  42. fi
  43. mkdir -p logs/$mod
  44. nohup $CWD/$binfile &> logs/${mod}/stdout.log &
  45. for((i=1;i<=15;i++)); do
  46. if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -gt 0 ]; then
  47. echo "${mod} started"
  48. return
  49. fi
  50. sleep 0.2
  51. done
  52. echo "cannot start ${mod}"
  53. exit 1
  54. }
  55. stop_all()
  56. {
  57. test -x n9e-agent && stop agent
  58. test -x n9e-judge && stop judge
  59. test -x n9e-transfer && stop transfer
  60. test -x n9e-index && stop index
  61. test -x n9e-tsdb && stop tsdb
  62. test -x n9e-monapi && stop monapi
  63. test -x n9e-ams && stop ams
  64. test -x n9e-job && stop job
  65. test -x n9e-rdb && stop rdb
  66. }
  67. stop()
  68. {
  69. mod=$1
  70. if [ "x${mod}" = "x" ]; then
  71. usage
  72. return
  73. fi
  74. if [ "x${mod}" = "xall" ]; then
  75. stop_all
  76. return
  77. fi
  78. binfile=n9e-${mod}
  79. if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -eq 0 ]; then
  80. echo "${mod} already stopped"
  81. return
  82. fi
  83. ps aux|grep -v grep|grep -v control|grep "$binfile"|awk '{print $2}'|xargs kill
  84. for((i=1;i<=15;i++)); do
  85. if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -eq 0 ]; then
  86. echo "${mod} stopped"
  87. return
  88. fi
  89. sleep 0.2
  90. done
  91. echo "cannot stop $mod"
  92. exit 1
  93. }
  94. restart()
  95. {
  96. mod=$1
  97. if [ "x${mod}" = "x" ]; then
  98. usage
  99. return
  100. fi
  101. if [ "x${mod}" = "xall" ]; then
  102. stop_all
  103. start_all
  104. return
  105. fi
  106. stop $mod
  107. start $mod
  108. status
  109. }
  110. status()
  111. {
  112. ps aux|grep -v grep|grep "n9e"
  113. }
  114. build_one()
  115. {
  116. mod=$1
  117. go build -ldflags "-X main.version=${version}" -o n9e-${mod} src/modules/${mod}/${mod}.go
  118. }
  119. build()
  120. {
  121. export GO111MODULE=on
  122. mod=$1
  123. if [ "x${mod}" = "x" ]; then
  124. build_one monapi
  125. build_one transfer
  126. build_one index
  127. build_one judge
  128. build_one agent
  129. build_one tsdb
  130. build_one rdb
  131. build_one ams
  132. build_one job
  133. return
  134. fi
  135. build_one $mod
  136. }
  137. reload()
  138. {
  139. mod=$1
  140. if [ "x${mod}" = "x" ]; then
  141. echo "arg: <mod> is necessary"
  142. return
  143. fi
  144. build_one $mod
  145. restart $mod
  146. }
  147. pack()
  148. {
  149. tar zcvf n9e-${version}.tar.gz control sql etc
  150. }
  151. case "$1" in
  152. start)
  153. start $2
  154. ;;
  155. stop)
  156. stop $2
  157. ;;
  158. restart)
  159. restart $2
  160. ;;
  161. status)
  162. status
  163. ;;
  164. build)
  165. build $2
  166. ;;
  167. reload)
  168. reload $2
  169. ;;
  170. pack)
  171. pack $2
  172. ;;
  173. *)
  174. usage
  175. esac