|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- #!/bin/bash
-
- # release version
- version=2.7.0
-
- CWD=$(cd $(dirname $0)/; pwd)
- cd $CWD
-
- usage()
- {
- echo $"Usage: $0 {start|stop|restart|status|build|pack} <module>"
- exit 0
- }
-
- start_all()
- {
- # http: 5800
- test -x n9e-monapi && start monapi
- # http: 5810 ; rpc: 5811
- test -x n9e-transfer && start transfer
- # http: 5820 ; rpc: 5821
- test -x n9e-tsdb && start tsdb
- # http: 5830 ; rpc: 5831
- test -x n9e-index && start index
- # http: 5840 ; rpc: 5841
- test -x n9e-judge && start judge
- # http: 2058
- test -x n9e-collector && start collector
- }
-
- start()
- {
- mod=$1
- if [ "x${mod}" = "x" ]; then
- usage
- return
- fi
-
- if [ "x${mod}" = "xall" ]; then
- start_all
- return
- fi
-
- binfile=n9e-${mod}
-
- if [ ! -f $binfile ]; then
- echo "file[$binfile] not found"
- exit 1
- fi
-
- if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -gt 0 ]; then
- echo "${mod} already started"
- return
- fi
-
- mkdir -p logs/$mod
- nohup $CWD/$binfile &> logs/${mod}/stdout.log &
-
- for((i=1;i<=15;i++)); do
- if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -gt 0 ]; then
- echo "${mod} started"
- return
- fi
- sleep 0.2
- done
-
- echo "cannot start ${mod}"
- exit 1
- }
-
- stop_all()
- {
- test -x n9e-monapi && stop monapi
- test -x n9e-transfer && stop transfer
- test -x n9e-tsdb && stop tsdb
- test -x n9e-index && stop index
- test -x n9e-judge && stop judge
- test -x n9e-collector && stop collector
- }
-
- stop()
- {
- mod=$1
- if [ "x${mod}" = "x" ]; then
- usage
- return
- fi
-
- if [ "x${mod}" = "xall" ]; then
- stop_all
- return
- fi
-
- binfile=n9e-${mod}
-
- if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -eq 0 ]; then
- echo "${mod} already stopped"
- return
- fi
-
- ps aux|grep -v grep|grep -v control|grep "$binfile"|awk '{print $2}'|xargs kill
- for((i=1;i<=15;i++)); do
- if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -eq 0 ]; then
- echo "${mod} stopped"
- return
- fi
- sleep 0.2
- done
-
- echo "cannot stop $mod"
- exit 1
- }
-
- restart()
- {
- mod=$1
- if [ "x${mod}" = "x" ]; then
- usage
- return
- fi
-
- if [ "x${mod}" = "xall" ]; then
- stop_all
- start_all
- return
- fi
-
- stop $mod
- start $mod
-
- status
- }
-
- status()
- {
- ps aux|grep -v grep|grep "n9e"
- }
-
- build_one()
- {
- mod=$1
- go build -ldflags "-X main.version=${version} -X main.buildTime=`date -u '+%Y-%m-%d_%I:%M:%S%p'` -X main.gitHash=`git rev-parse HEAD`" -mod=vendor -o n9e-${mod} src/modules/${mod}/${mod}.go
- }
-
- build_docker()
- {
- mod=$1
- go build -ldflags "-X main.version=${version} -X main.buildTime=`date -u '+%Y-%m-%d_%I:%M:%S%p'` -X main.gitHash=`git rev-parse HEAD`" -mod=vendor -o bin/n9e-${mod} src/modules/${mod}/${mod}.go
- }
-
- build()
- {
- export GO111MODULE=on
-
- mod=$1
- if [ "x${mod}" = "x" ]; then
- build_one monapi
- build_one transfer
- build_one index
- build_one judge
- build_one collector
- build_one tsdb
- return
- fi
-
- if [ "x${mod}" = "xdocker" ]; then
- build_docker monapi
- build_docker transfer
- build_docker index
- build_docker judge
- build_docker collector
- build_docker tsdb
- return
- fi
-
- build_one $mod
- }
-
- reload()
- {
- mod=$1
- if [ "x${mod}" = "x" ]; then
- echo "arg: <mod> is necessary"
- return
- fi
-
- build_one $mod
- restart $mod
- }
-
- pack()
- {
- v=$1
- if [ "x${v}" = "x" ]; then
- v=$(date +%Y-%m-%d-%H-%M-%S)
- fi
-
- tar zcvf n9e-$v.tar.gz control sql plugin pub etc/log etc/port etc/service etc/nginx.conf etc/mysql.yml etc/address.yml \
- n9e-collector etc/collector.yml \
- n9e-tsdb etc/tsdb.yml \
- n9e-index etc/index.yml \
- n9e-judge etc/judge.yml \
- n9e-transfer etc/transfer.yml \
- n9e-monapi etc/monapi.yml
- }
-
- case "$1" in
- start)
- start $2
- ;;
- stop)
- stop $2
- ;;
- restart)
- restart $2
- ;;
- status)
- status
- ;;
- build)
- build $2
- ;;
- reload)
- reload $2
- ;;
- pack)
- pack $2
- ;;
- *)
- usage
- esac
|