linux实现自动部署tomcat脚本
<p>由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务、备份war包、上传新的war包、启动服务。索性就写了一个自动部署的脚本。</p>
<p>
脚本如下autoDeploy.sh:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_592517">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash preprocessor bold">#! /bin/sh</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">echo</code> <code class="bash string">'####################开始自动部署####################'</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">path=`</code><code class="bash functions">pwd</code><code class="bash plain">` </code><code class="bash comments">#当前路径</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">tomcatPath=tomcat-7 </code><code class="bash comments">#指定tomcat文件目录名称</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash functions">cd</code> <code class="bash plain">../$tomcatPath</code><code class="bash plain">/bin</code> <code class="bash comments">#进入tomcat的bin目录</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">PID=$(</code><code class="bash functions">ps</code> <code class="bash plain">-fu `</code><code class="bash functions">whoami</code><code class="bash plain">`|</code><code class="bash functions">grep</code> <code class="bash plain">tomcat|</code><code class="bash functions">grep</code> <code class="bash plain">-</code><code class="bash functions">v</code> <code class="bash functions">grep</code><code class="bash plain">|</code><code class="bash functions">awk</code> <code class="bash string">'{print $2}'</code><code class="bash plain">)</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash keyword">if</code> <code class="bash plain">[ -z </code><code class="bash string">"$PID"</code> <code class="bash plain">];</code><code class="bash keyword">then</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash string">"no tomcat process"</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash keyword">else</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">.</code><code class="bash plain">/shutdown</code><code class="bash plain">.sh </code><code class="bash comments">#停止tomcat服务</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash keyword">fi</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash functions">sleep</code> <code class="bash plain">1 </code><code class="bash comments">#休眠1s</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash functions">cd</code> <code class="bash plain">..</code><code class="bash plain">/webapps</code> <code class="bash comments">#进入tomcat的webapps目录</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash functions">rm</code> <code class="bash plain">-fr </code><code class="bash functions">test</code> <code class="bash comments">#删除test文件目录</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash functions">mv</code> <code class="bash functions">test</code><code class="bash plain">.war </code><code class="bash functions">test</code><code class="bash plain">.war.$(</code><code class="bash functions">date</code> <code class="bash plain">+%Y%m%d) </code><code class="bash comments">#备份webapps下的test16 cp $path/test.war ./ #复制test.war到webapps路径下</code>
</div>
<div class="line number16 index15 alt1">
<code class="bash functions">sleep</code> <code class="bash plain">1 </code><code class="bash comments">#休眠1s</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash functions">cd</code> <code class="bash plain">..</code><code class="bash plain">/bin</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain">.</code><code class="bash plain">/startup</code><code class="bash plain">.sh </code><code class="bash comments">#启动tomcat服务</code>
</div>
<div class="line number19 index18 alt2">
<code class="bash functions">echo</code> <code class="bash string">'####################部署结束####################'</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>说明:</strong></p>
<p>
1.新建一个目录autoDeploy与tomcat目录放在同级目录下</p>
<p>
(1)autoDeploy.sh放在autoDeploy目录下</p>
<p>
(2)需要部署的test.war放在autoDeploy目录下(test.war为需要部署的到tomcat上的war包)</p>
<p>
2.tomcatPath=tomcat-7(指定tomcat文件目录名称,tomcat-7改为自己tomcat的目录名称)</p>
<p>
3.执行autoDepoy.sh即可实现自动部署</p>
<p>
新建的autoDepoy.sh若没有执行权限,需要执行:chmod +x autoDeploy.sh</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。</p>
頁:
[1]