說明:本指令碼並不是完全的自動部署,只是優化基於tomcat部署專案流程。優點:降低部署難度、減少出錯機率、提高部署效率、自動備份專案。
在編寫自動發布指令碼之前,需先安裝tomcat。傳送門:
人工發布與自動發布流程對比
已配置好乙個tomcat伺服器,命名為web應用名稱
建立目錄結構如下
demo
--hello
--bin
--log
--lib
--……
--deploy
--hellobak
--helloftp
hello:web應用tomcat伺服器
deploy:自動發布目錄
hellobak:專案備份目錄
helloftp:專案上傳目錄
# @describe 基於tomcat自動發布指令碼
# @author zhangcheng
# @date 2017-03-21
# @version v1.0
# mkdir bak
date=$(date +%y%m%d)-$(date +%h%m)
mkdir /home/zc/demo/deploy/hellobak/$date
echo "1、建立備份目錄完畢"
# kill tomcat
ps -ef |grep 'hello' |grep -v grep|awk ''|xargs kill -9
echo "2、殺掉程序執行完畢"
# backup project
echo "3、原包檔案備份完畢"
echo "4、清理原包檔案完畢"
#deploy project
echo "5、拷貝新包檔案完畢"
#start tomcat
sh /home/zc/demo/hello/bin/startup.sh
echo "6、重新啟動程序完畢"
說明:依據具體環境,將目錄路徑及專案名更改即可。可以使用pwd命令,檢視當前目錄路徑。
將自動發布指令碼上傳到deploy目錄,並命名為hellodeploy.sh
給該指令碼授權,使其具備可執行許可權
chmod +x ./hellodeploy.sh
上傳專案公升級包到helloftp目錄
執行指令碼
檢視備份檔案
訪問**
linux 下 tomcat 自動啟動
bin sh chkconfig 2345 20 80 description example to start tomcat 將tomcat新增到服務中 chkconfig add tomcat 在tomcat檔案的頭幾行的注釋語句中,必須包含chkconfig和description兩部分內容,...
tomcat日誌自動分割 linux
今天在tomcat上檢視專案日誌的時候,發現catalina.out檔案竟然已經達到202m了,決定做一下日誌的分割.先看了一下crontab任務中,發現有個刪除前10天日誌的自動任務,但是沒有發現切割的自動任務.搜了一下,據說tomcat有預設的日誌分割功能,能每天自動生成類似catalina.2...
Linux下自動重啟tomcat
tomcat作為開源的伺服器,效能與穩定性上比起一些商業伺服器還是要差一些。將專案部署到tomcat後隔段時間就會死掉,出現這種問題的主要原因可能是記憶體資料溢位,因為tomcat容器在發生大量與資料庫互動查詢或者操作的時候很容易出現問題。定時重啟是乙個很好的補救措施,定時重啟可以定時的清理記憶體也...