茶肆物语 發表於 2023-12-25 00:00:00

Linux 单个tomcat多实例部署shell脚本详解

<p>
        <strong>Linux 单个tomcat多实例部署shell脚本详解</strong></p>
<p>
        <strong>步骤:</strong></p>
<p>
        1. 下载tomcat,解压安装</p>
<p>
        2.将tomcat下的webapps,conf,temp等目录分别拷至根目录www下A,B,C目录下</p>
<p>
        3.新建如下脚本restart_tomcat.sh</p>
<p>
        4.使用restart_tomcat.sh A/B/C</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterjava" id="highlighter_668320">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                        <div class="line number22 index21 alt1">
                                                                22</div>
                                                        <div class="line number23 index22 alt2">
                                                                23</div>
                                                        <div class="line number24 index23 alt1">
                                                                24</div>
                                                        <div class="line number25 index24 alt2">
                                                                25</div>
                                                        <div class="line number26 index25 alt1">
                                                                26</div>
                                                        <div class="line number27 index26 alt2">
                                                                27</div>
                                                        <div class="line number28 index27 alt1">
                                                                28</div>
                                                        <div class="line number29 index28 alt2">
                                                                29</div>
                                                        <div class="line number30 index29 alt1">
                                                                30</div>
                                                        <div class="line number31 index30 alt2">
                                                                31</div>
                                                        <div class="line number32 index31 alt1">
                                                                32</div>
                                                        <div class="line number33 index32 alt2">
                                                                33</div>
                                                        <div class="line number34 index33 alt1">
                                                                34</div>
                                                        <div class="line number35 index34 alt2">
                                                                35</div>
                                                        <div class="line number36 index35 alt1">
                                                                36</div>
                                                        <div class="line number37 index36 alt2">
                                                                37</div>
                                                        <div class="line number38 index37 alt1">
                                                                38</div>
                                                        <div class="line number39 index38 alt2">
                                                                39</div>
                                                        <div class="line number40 index39 alt1">
                                                                40</div>
                                                        <div class="line number41 index40 alt2">
                                                                41</div>
                                                        <div class="line number42 index41 alt1">
                                                                42</div>
                                                        <div class="line number43 index42 alt2">
                                                                43</div>
                                                        <div class="line number44 index43 alt1">
                                                                44</div>
                                                        <div class="line number45 index44 alt2">
                                                                45</div>
                                                        <div class="line number46 index45 alt1">
                                                                46</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="java plain">#!/bin/sh  </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="java spaces">  </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="java keyword">if</code> <code class="java plain">[ -z $</code><code class="java value">1</code> <code class="java plain">]  </code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="java plain">then  </code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="java spaces"> </code><code class="java plain">echo </code><code class="java string">"\033[31;1mplease input the app which you need restart...\033[0m"</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="java spaces"> </code><code class="java plain">exit </code><code class="java value">1</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="java plain">fi  </code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="java spaces">  </code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="java plain">base_dir=/Users/huangyunxing/Documents/work/www  </code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="java keyword">if</code> <code class="java plain">[ ! -d ${base_dir}/$</code><code class="java value">1</code> <code class="java plain">]; then  </code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="java spaces">  </code><code class="java plain">echo -e </code><code class="java string">"\033 or the [${base_dir}/$1] is no a directory, please check it...\033[0m"</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="java spaces">  </code><code class="java plain">exit </code><code class="java value">1</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="java plain">fi  </code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="java spaces">  </code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="java keyword">if</code> <code class="java plain">[ ! -f ${base_dir}/$</code><code class="java value">1</code><code class="java plain">/conf/server.xml ]; then  </code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="java spaces">  </code><code class="java plain">echo -e </code><code class="java string">"\033 or the [${base_dir}/$1/conf/server.xml] is not a file, please check it...\033[0m"</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="java spaces">  </code><code class="java plain">exit </code><code class="java value">1</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="java plain">fi  </code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="java spaces">  </code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="java keyword">if</code> <code class="java plain">[ ! -d ${base_dir}/$</code><code class="java value">1</code><code class="java plain">/webapps ]; then  </code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="java spaces">  </code><code class="java plain">echo -e </code><code class="java string">"\033 or the [${base_dir}/$1/webapps] is not a directory, please check it...\033[0m"</code>
</div>
                                                                <div class="line number22 index21 alt1">
                                                                        <code class="java spaces">  </code><code class="java plain">exit </code><code class="java value">1</code>
</div>
                                                                <div class="line number23 index22 alt2">
                                                                        <code class="java plain">fi  </code>
</div>
                                                                <div class="line number24 index23 alt1">
                                                                        <code class="java spaces"> </code>
</div>
                                                                <div class="line number25 index24 alt2">
                                                                        <code class="java plain">export CATALINA_BASE=${base_dir}/$</code><code class="java value">1</code>
</div>
                                                                <div class="line number26 index25 alt1">
                                                                        <code class="java spaces"> </code>
</div>
                                                                <div class="line number27 index26 alt2">
                                                                        <code class="java keyword">if</code> <code class="java plain">[ -f ${CATALINA_BASE}/setenv.sh ];then  </code>
</div>
                                                                <div class="line number28 index27 alt1">
                                                                        <code class="java spaces"> </code><code class="java plain">. </code><code class="java string">"${CATALINA_BASE}/setenv.sh"</code>
</div>
                                                                <div class="line number29 index28 alt2">
                                                                        <code class="java spaces"> </code><code class="java plain">echo </code><code class="java string">"=========load setenv.sh finshed========"</code>
</div>
                                                                <div class="line number30 index29 alt1">
                                                                        <code class="java plain">fi  </code>
</div>
                                                                <div class="line number31 index30 alt2">
                                                                        <code class="java spaces"> </code>
</div>
                                                                <div class="line number32 index31 alt1">
                                                                        <code class="java plain">res=`ps aux | grep $</code><code class="java value">1</code><code class="java plain">|grep </code><code class="java string">"$JAVA_HOME/bin/java"</code><code class="java plain">|egrep -v </code><code class="java string">"grep"</code><code class="java plain">|awk </code><code class="java string">'{print $2}'</code><code class="java plain">` </code>
</div>
                                                                <div class="line number33 index32 alt2">
                                                                        <code class="java keyword">if</code> <code class="java plain">[ </code><code class="java string">"$res"</code> <code class="java plain">== </code><code class="java string">""</code> <code class="java plain">]; then  </code>
</div>
                                                                <div class="line number34 index33 alt1">
                                                                        <code class="java spaces">  </code><code class="java plain">echo -e </code><code class="java string">"\033[44;38;1mthe tomcat is not running, begin startup...\033[0m"</code>
</div>
                                                                <div class="line number35 index34 alt2">
                                                                        <code class="java keyword">else</code>
</div>
                                                                <div class="line number36 index35 alt1">
                                                                        <code class="java spaces"> </code><code class="java plain">echo -e </code><code class="java string">'\033[45;35;1mcurrent running pid is'</code> <code class="java plain">$res</code><code class="java string">',begin to stopping...\033[0m'</code>
</div>
                                                                <div class="line number37 index36 alt2">
                                                                        <code class="java spaces"> </code><code class="java plain">kill -</code><code class="java value">9</code> <code class="java plain">`ps aux | grep $</code><code class="java value">1</code><code class="java plain">|grep </code><code class="java string">"$JAVA_HOME/bin/java"</code><code class="java plain">|egrep -v </code><code class="java string">"grep"</code><code class="java plain">|awk </code><code class="java string">'{print $2}'</code><code class="java plain">` &amp;&amp; echo -e </code><code class="java string">'\033[45;35;1mtomcat killed successfully\033[0m'</code>
</div>
                                                                <div class="line number38 index37 alt1">
                                                                        <code class="java plain">fi  </code>
</div>
                                                                <div class="line number39 index38 alt2">
                                                                        <code class="java spaces">  </code>
</div>
                                                                <div class="line number40 index39 alt1">
                                                                        <code class="java spaces"> </code>
</div>
                                                                <div class="line number41 index40 alt2">
                                                                        <code class="java spaces"> </code>
</div>
                                                                <div class="line number42 index41 alt1">
                                                                        <code class="java plain">rm -fr $CATALINA_BASE/work/* </code>
</div>
                                                                <div class="line number43 index42 alt2">
                                                                        <code class="java plain">rm -fr $CATALINA_BASE/temp/* </code>
</div>
                                                                <div class="line number44 index43 alt1">
                                                                        <code class="java plain">${CATALINA_HOME}/bin/catalina.sh jpda start -config ${base_dir}/$</code><code class="java value">1</code><code class="java plain">/conf/server.xml &amp;&amp; echo -e </code><code class="java string">"\033[44;32;1mTomcat startup finished...\033[0m"</code>
</div>
                                                                <div class="line number45 index44 alt2">
                                                                        <code class="java plain">pid=`ps aux | grep $</code><code class="java value">1</code><code class="java plain">|grep </code><code class="java string">"$JAVA_HOME/bin/java"</code><code class="java plain">|egrep -v </code><code class="java string">"grep"</code><code class="java plain">|awk </code><code class="java string">'{print $2}'</code><code class="java plain">`  </code>
</div>
                                                                <div class="line number46 index45 alt1">
                                                                        <code class="java plain">echo -e </code><code class="java string">"\033[46;38;1m new running pid is ${pid}...\033[0m"</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!</p>
<p>
        原文链接:http://asflex.iteye.com/blog/2123816</p>
頁: [1]
查看完整版本: Linux 单个tomcat多实例部署shell脚本详解