标签:style blog http io ar color os 使用 sp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
#!/bin/bash # # 本脚本用来对系统上的多服务进行管理操作 # 目前仅支持nginx、tomcat和jar包类的java应用进行管理操作 # Written by sunsky # Mail : 274546888@qq.com # Date : 2014-11-26 15:00:00 # function USAGE { echo -e "\033[31m脚本名称: \033[37m" echo " $0" echo -e "\033[31m语法结构: \033[37m" echo " $0 {nginx|tomcat|*service} {start|stop|restart|status}" echo -e "\033[31m使用范例: \033[37m" echo " $0 nginx start" echo " $0 tomcat restart" echo " $0 vin-service status" echo -e "\033[31m注意事项: \033[37m" echo " 1. 该脚本管理的目录必须遵循如下规则:" echo " a) nginx 部署路径必须能够通过 /usr/local/nginx 访问到" echo " b) tomcat 部署路径必须能够通过 /usr/local/tomcat 访问到" echo " c) service 类服务的部署路径必须能够通过 /home/apps/service类项目名/current/ 访问到" echo " 2. \$1(服务类型)和\$2(操作)参数必须存在" exit 2 } function CAT_FUWU { if [ -z $PID ]; then case $SIGNAL in start|restart) echo "正在启动 $FUWU 服务" ;; stop) echo "$FUWU 服务已经关闭" exit ;; status) echo "$FUWU 服务处于关闭" ;; esac else case $SIGNAL in start) echo "$FUWU 服务已经开启" exit 0 ;; stop|restart) echo "你所要杀掉的 $FUWU 服务对应的进程号为 $PID" ;; status) echo "$FUWU 服务目前正在运行,对应的进程号为 $PID" ;; esac fi } function KILL_FUWU { if [[ $PID != "" ]]; then for i in $PID; do kill $PID > /dev/null 2>&1 sleep 3 kill -9 $PID > /dev/null 2>&1 done fi } function START_NGINX { /usr/local/nginx/sbin/nginx PID=` ps -ef| awk ‘$0~"nginx"&&$0~"master"&&$0!~"awk"{print $2}‘ ` echo "$FUWU 服务已经启动,它所对应的进程号为 $PID" } function START_TOMCAT { /bin/bash /usr/local/tomcat/bin/startup .sh >& /dev/null PID=` ps aux| awk ‘$0~"java"&&$0~"tomcat"&&$0!~"awk"{print $2}‘ ` echo "$FUWU 服务已经启动,它所对应的进程号为 $PID" } function START_SERVICE { /bin/bash /home/apps/ $FUWU /current/startup .sh & PID=` ps -ef| awk ‘$0~"‘ $FUWU ‘"&&$0~"jar"&&$0!~"awk"{print $2}‘ ` echo "$FUWU 服务已经启动,它所对应的进程号为 $PID" } function FUWU_LIST { case $SIGNAL in start) CAT_FUWU $1 ;; stop) CAT_FUWU KILL_FUWU ;; restart) CAT_FUWU KILL_FUWU $1 ;; status) CAT_FUWU ;; *) USAGE ;; esac } function NGINX { PID=` ps -ef| awk ‘$0~"nginx"&&$0~"master"&&$0!~"awk"{print $2}‘ ` FUWU_LIST START_NGINX } function TOMCAT { PID=` ps aux| awk ‘$0~"java"&&$0~"tomcat"&&$0!~"awk"{print $2}‘ ` FUWU_LIST START_TOMCAT } function SERVICE { if [ ! -f /home/apps/ $FUWU /current/startup .sh ]; then USAGE fi PID=` ps -ef| awk ‘$0~"‘ $FUWU ‘"&&$0~"jar"&&$0!~"awk"{print $2}‘ ` FUWU_LIST START_SERVICE } if [ $ # -lt 2 ];then USAGE fi FUWU=$1 SIGNAL=$2 case $1 in nginx) NGINX ;; tomcat) TOMCAT ;; *service) SERVICE ;; *) USAGE ;; esac |
1
2
3
4
5
6
7
8
9
10
|
USAGE # 帮助模块喽 CAT_FUWU # 用于在接收到用户操作时,判断服务当前状态并给予正确相应 KILL_FUWU # 负责杀掉服务的公共模块 START_NGINX # 负责启动NGINX应用的模块 START_TOMCAT # 负责启动TOMCAT应用的模块 START_SERVICE # 负责启动JAR包类的JAVA应用的模块 FUWU_LIST # 负责响应单个服务操作的公共列表 NGINX # 集合NGINX管理操作的模块 TOMCAT # 集合TOMCAT管理操作的模块 SERVICE # 集合JAR包类JAVA应用管理操作的模块 |
标签:style blog http io ar color os 使用 sp
原文地址:http://blog.csdn.net/androidmylove/article/details/41549655