一.說明
我們每次在tomcat中發布新war包,總是要經歷【備份-停機-上傳-啟動】這幾個部分,其中上傳的環節和網速有極大相關性,要是網速很慢,那麼整個發布的時間就會很長。
如果我們不借助於自動化發布工具,那麼我們可以預先上傳war包到指定目錄,然後用shell指令碼來完成【備份-停機-拷貝-啟動】,將上傳動作替換為拷貝動作,這樣發布的時間就不依賴網速了。
二.目錄結構
三.指令碼
#四.注意事項!/bin/bash
#檢查所需檔案
#判斷war包是否存在
if [ ! -f
"/home/ap/wardir/client.war
"];then
echo
"/home/ap/wardir/client.war不存在,請上傳
"exitfi#
查詢tomcat程序
tomcat_pid=`ps -ef | grep apache-tomcat-7.0.85 | grep -v grep | awk ''`
if [ "
$tomcat_pid
" == ""
];then
echo
"tomcat未執行
"else
ps -ef | grep apache-tomcat-7.0.85 | grep -v grep | awk '' | xargs kill -9echo
"tomcat已停止"fi
#清除tomcat快取
rm -rf /home/ap/apache-tomcat-7.0.85/work/catalina/localhost/*echo
"清理tomcat快取完成"#
判斷backup資料夾是否存在
if [ ! -d "
/home/ap/apache-tomcat-7.0.85/backup/
"];then
mkdir /home/ap/apache-tomcat-7.0.85/backup
echo
"backup資料夾建立成功"fi
#備份檔案
#cp前要加\,否則cp等同於cp -i,那麼-f就不會生效了
echo
"檔案備份成功"#
""#echo ""
#啟動tomcat
cd /home/ap/apache-tomcat-7.0.85/bin
echo
"####################
"echo
"## 開始啟動tomcat ##
"echo
"####################
"./startup.sh & tail -f ../logs/catalina.out
1.清注意指令碼中的各路徑,需要替換成本機器的路徑和環境資訊
2.rm -rf 命令,最好寫絕對路徑,避免因為資料夾不存在造成把根目錄刪除了
3.可以根據需求,自定義更多的功能
五.其他
停止tomcat的指令碼
ps -ef | grep apache-tomcat-7.0.85 | grep -v grep | awk '' | xargs kill -9
tomcat快速部署指令碼
bin bash coding utf 8 date 2018 12 28 author mr.yang 指令碼可根據需求修改tomcat6 tomcat6版本 tomcat7 tomcat7版本 tomcat8 tomcat8版本 i 0 read p 請輸入專案名不含任何符號 例 aaa pjn...
mysql快速備份指令碼
mysqldump常用於mysql資料庫邏輯備份。1 各種用法說明 a.最簡單的用法 mysqldump uroot ppassword database name dump file 上述命令將指定資料庫備份到某dump檔案 儲檔案 中,比如 mysqldump uroot p123 test t...
Linux 基於Tomcat自動發布指令碼
說明 本指令碼並不是完全的自動部署,只是優化基於tomcat部署專案流程。優點 降低部署難度 減少出錯機率 提高部署效率 自動備份專案。在編寫自動發布指令碼之前,需先安裝tomcat。傳送門 人工發布與自動發布流程對比 已配置好乙個tomcat伺服器,命名為web應用名稱 建立目錄結構如下 demo...