|
7 | 7 |
|
8 | 8 | # 检查脚本参数,如必要参数未传入,退出脚本。 |
9 | 9 | function checkInput() { |
10 | | - if [ "${app}" == "" ] || [ "${oper}" == "" ] || [ "${javaArgs}" == "" ] || [ "${classpathArgs}" == "" ] || [ "${bootstrapClass}" == "" ]; then |
11 | | - echo "请输入脚本参数:app oper javaArgs classpathArgs bootstrapClass" |
12 | | - echo " app: 应用名。" |
13 | | - echo " oper: 运行环境(必填)。可选值:start|stop|restart" |
14 | | - echo " javaArgs: JVM 参数(必填)。" |
15 | | - echo " classpathArgs: classpath参数(必填)。" |
16 | | - echo " bootstrapClass: 启动类(必填)。" |
17 | | - exit 0 |
18 | | - fi |
| 10 | + if [ "${app}" == "" ] || [ "${oper}" == "" ] || [ "${javaArgs}" == "" ] || [ "${classpathArgs}" == "" ] || [ "${bootstrapClass}" == "" ]; then |
| 11 | + echo "请输入脚本参数:app oper javaArgs classpathArgs bootstrapClass" |
| 12 | + echo " app: 应用名。" |
| 13 | + echo " oper: 运行环境(必填)。可选值:start|stop|restart" |
| 14 | + echo " javaArgs: JVM 参数(必填)。" |
| 15 | + echo " classpathArgs: classpath参数(必填)。" |
| 16 | + echo " bootstrapClass: 启动类(必填)。" |
| 17 | + exit 0 |
| 18 | + fi |
19 | 19 | } |
20 | 20 |
|
21 | 21 | # 检查文件夹是否存在,不存在则创建 |
22 | 22 | function createFolderIfNotExist() { |
23 | | - if [ ! -d "$1" ]; then |
24 | | - mkdir -p "$1" |
25 | | - fi |
| 23 | + if [ ! -d "$1" ]; then |
| 24 | + mkdir -p "$1" |
| 25 | + fi |
26 | 26 | } |
27 | 27 |
|
28 | 28 | # 检查服务是否已经启动 |
29 | 29 | pids="" |
30 | 30 | function checkStarted() { |
31 | | - pids=`ps -ef | grep java | grep ${app} | awk '{print $2}'` |
32 | | - if [ -n "${pids}" ]; then |
33 | | - return 0 |
34 | | - else |
35 | | - return 1 |
36 | | - fi |
| 31 | + pids=`ps -ef | grep java | grep ${app} | awk '{print $2}'` |
| 32 | + if [ -n "${pids}" ]; then |
| 33 | + return 0 |
| 34 | + else |
| 35 | + return 1 |
| 36 | + fi |
37 | 37 | } |
38 | 38 |
|
39 | 39 | function main() { |
40 | | - case "${oper}" in |
41 | | - start) |
42 | | - echo -n "starting server: " |
43 | | - # 检查服务是否已经启动 |
44 | | - if checkStarted; then |
45 | | - echo "ERROR: server already started!" |
46 | | - echo "PID: ${pids}" |
47 | | - exit 1 |
48 | | - fi |
| 40 | + case "${oper}" in |
| 41 | + start) |
| 42 | + echo -n "starting server: " |
| 43 | + # 检查服务是否已经启动 |
| 44 | + if checkStarted; then |
| 45 | + echo "ERROR: server already started!" |
| 46 | + echo "PID: ${pids}" |
| 47 | + exit 1 |
| 48 | + fi |
49 | 49 |
|
50 | | - args="${javaArgs} -classpath ${classpathArgs} ${bootstrapClass}" |
51 | | - echo -e "statup params:\n ${args}" |
| 50 | + args="${javaArgs} -classpath ${classpathArgs} ${bootstrapClass}" |
| 51 | + echo -e "statup params:\n ${args}" |
52 | 52 |
|
53 | | - #启动服务 |
54 | | - touch ${LOG_DIR}/${app}-startup.log |
55 | | - nohup java ${args} > ${LOG_DIR}/${app}-startup.log 2>&1 & |
56 | | - # echo -e "执行参数:\n${args}" |
57 | | - echo -e "\nthe server is started..." |
58 | | - ;; |
59 | | - stop) |
60 | | - echo -n "stopping server: " |
61 | | - #dubbo提供优雅停机, 不能使用kill -9 |
62 | | - if checkStarted; then |
63 | | - kill ${pids} |
64 | | - echo -e "\nthe server is stopped..." |
65 | | - else |
66 | | - echo -e "\nno server to be stopped..." |
67 | | - fi |
68 | | - ;; |
69 | | - restart) |
70 | | - $0 ${app} stop "${javaArgs}" "${classpathArgs}" "${bootstrapClass}" |
71 | | - sleep 5 |
72 | | - $0 ${app} start "${javaArgs}" "${classpathArgs}" "${bootstrapClass}" |
73 | | - ;; |
74 | | - *) |
75 | | - echo "Invalid oper: ${oper}." |
76 | | - exit 1 |
77 | | - esac |
| 53 | + #启动服务 |
| 54 | + touch ${LOG_DIR}/${app}-startup.log |
| 55 | + nohup java ${args} > ${LOG_DIR}/${app}-startup.log 2>&1 & |
| 56 | + # echo -e "执行参数:\n${args}" |
| 57 | + echo -e "\nthe server is started..." |
| 58 | + ;; |
| 59 | + stop) |
| 60 | + echo -n "stopping server: " |
| 61 | + #dubbo提供优雅停机, 不能使用kill -9 |
| 62 | + if checkStarted; then |
| 63 | + kill ${pids} |
| 64 | + echo -e "\nthe server is stopped..." |
| 65 | + else |
| 66 | + echo -e "\nno server to be stopped..." |
| 67 | + fi |
| 68 | + ;; |
| 69 | + restart) |
| 70 | + $0 ${app} stop "${javaArgs}" "${classpathArgs}" "${bootstrapClass}" |
| 71 | + sleep 5 |
| 72 | + $0 ${app} start "${javaArgs}" "${classpathArgs}" "${bootstrapClass}" |
| 73 | + ;; |
| 74 | + *) |
| 75 | + echo "Invalid oper: ${oper}." |
| 76 | + exit 1 |
| 77 | + esac |
78 | 78 |
|
79 | | - exit 0 |
| 79 | + exit 0 |
80 | 80 | } |
81 | 81 |
|
82 | 82 | ######################################## MAIN ######################################## |
|
0 commit comments