這篇文章主要講解了“利用shell實(shí)現Tomcat啟動(dòng)腳本”,文中的講解內容簡(jiǎn)單清晰,易于學(xué)習與理解,下面請大家跟著(zhù)小編的思路慢慢深入,一起來(lái)研究和學(xué)習“利用shell實(shí)現Tomcat啟動(dòng)腳本”吧!
1.首先我們就來(lái)創(chuàng )建一個(gè)普通用戶(hù)。
groupadd tomcat #加組 useradd -g tomcat -s /usr/sbin/nologin tomcat #向組加用戶(hù) usermod -L tomcat #鎖定密碼,使密碼無(wú)效 passwd tomcat # 設置密碼
通過(guò)這四步,我們就把普通用戶(hù)創(chuàng )建好了,在創(chuàng )建用戶(hù)時(shí),我們是先創(chuàng )建的組,組創(chuàng )建完成后創(chuàng )建用戶(hù)并加入該組。
用戶(hù)創(chuàng )建完成后,就開(kāi)始給用戶(hù)設置權限
chown -R tomcat:tomcat /data #分配權限給用戶(hù)
這就是給tomcat這個(gè)用戶(hù)設置了可以操作data目錄及其子目錄下的權限,-R就代表該目錄及其級聯(lián)子目錄。
[root@localhost data]# ls -l total 0 drwxr-xr-x. 4 tomcat tomcat 79 May 20 08:03 tomcat [root@localhost data]#
此時(shí)我們通過(guò)ls -l 命令就可以看到data目錄已經(jīng)屬于tomcat用戶(hù),且擁有查看,寫(xiě)入,執行權限
2.完成了用戶(hù)創(chuàng )建后,我們就要開(kāi)始完成tomcat啟動(dòng)腳本。
如代碼所示:
#!/bin/bash tomcat_home=/data/tomcat/tomcat-8484 SHUTDOWN=$tomcat_home/bin/shutdown.sh STARTTOMCAT=$tomcat_home/bin/startup.sh case $1 in start) echo "啟動(dòng)$tomcat_home" $STARTTOMCAT cd /data/tomcat/tomcat-8484/logs tail -f catalina.out ;; stop) echo "關(guān)閉$tomcat_home" #$SHUTDOWN netstat -anp | grep 8484| grep -v grep | awk '{print $7}' | sed -e 's//java//g' | sed -e 's/^/kill -9 /g' | sh #pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk '{print $2}'` #kill -9 $pidlist #刪除日志文件,如果你不先刪除可以不要下面一行 #rm $tomcat_home/logs/* -rf #刪除tomcat的臨時(shí)目錄 #rm $tomcat_home/work/* -rf ;; restart) echo "關(guān)閉$tomcat_home" $SHUTDOWN #pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk '{print $2}'` #pidlist=`netstat -anp |grep 8484 |grep -v "grep"|awk '{print $2}'` #netstat -anp | grep 8484| grep -v grep | awk '{print $7}' | sed -e 's//java//g' | sed -e 's/^/kill -9 /g' | sh #kill -9 $pidlist sleep 5 echo "啟動(dòng)$tomcat_home" $STARTTOMCAT #看啟動(dòng)日志 #tail -f $tomcat_home/logs/catalina.out ;; logs) cd /data/tomcat/tomcat-8484/logs tail -f catalina.out ;; esac
上面代碼就是tomcat啟動(dòng)腳本,首先我們要創(chuàng )建一個(gè)文本文件,然后將后綴名變成.sh,這里我是用端口號為8484的tomcat作為例子,從腳本文件中可以看到,總共只需對自己tomcat位置和日志位置進(jìn)行自定義改動(dòng)后就可以使用,總共有四個(gè)命令,start,stop,restart,logs。
腳本文件創(chuàng )建好后,只需將它放入你的中,位置可以自己隨意選擇,我這里就把它放在了tomcat下bin目錄中。
腳本文件放入服務(wù)器后其實(shí)還不能使用,會(huì )有兩個(gè)問(wèn)題待解決,一個(gè)是格式問(wèn)題,一個(gè)是權限問(wèn)題。因為我們是文本文件創(chuàng )建的,其格式是文本格式,我們要改成unix格式,所以要進(jìn)行如下設置
sed -i "s/ //" tomcat-8484.sh #設置腳本文件為unix格式
完成了格式設置后就要為該腳本文件設置權限,因為linux默認文件的權限是drwxr-xr-x,即所有運行權限賦予文件所有者也就是系統管理員(當前我是用系統管理員登錄),把讀和運行的權限賦予群組用戶(hù),把讀的權限賦予其他用戶(hù),所以我們要對腳本文件權限進(jìn)行重新設置。
chmod 777 ./tomcat-8484.sh
chmod命令就是改變權限的命令,這個(gè)777是什么意思呢?
在Linux系統中,文件或目錄的權限又分為3種:只讀、只寫(xiě)、可執行。
依照上面的表格,權限組合就是對應權限值求和,如下:
7 = 4 + 2 + 1 讀寫(xiě)運行權限
5 = 4 + 1 讀和運行權限
4 = 4 只讀權限
因此,大家也就明白了 chmod 777 ./tomcat-8484.sh 命令的含義了。
此時(shí)我們的tomcat啟動(dòng)腳本就完成了,下面我們來(lái)演示一下。
啟動(dòng)
[root@localhost bin]# ./tomcat-8484.sh start 啟動(dòng)/data/tomcat/tomcat-8484 Using CATALINA_BASE: /data/tomcat/tomcat-8484 Using CATALINA_HOME: /data/tomcat/tomcat-8484 Using CATALINA_TMPDIR: /data/tomcat/tomcat-8484/temp Using JRE_HOME: /usr Using CLASSPATH: /data/tomcat/tomcat-8484/bin/bootstrap.jar:/data/tomcat/tomcat-8484/bin/tomcat-juli.jar Tomcat started.
我們查看進(jìn)程看一下是否真的啟動(dòng)
[root@localhost bin]# ps -ef |grep tomcat root 5569 1 7 14:09 pts/0 00:00:06 /usr/bin/java -Djava.util.logging.config.file=/data/tomcat/tomcat-8484/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /data/tomcat/tomcat-8484/bin/bootstrap.jar:/data/tomcat/tomcat-8484/bin/tomcat-juli.jar -Dcatalina.base=/data/tomcat/tomcat-8484 -Dcatalina.home=/data/tomcat/tomcat-8484 -Djava.io.tmpdir=/data/tomcat/tomcat-8484/temp org.apache.catalina.startup.Bootstrap start root 5611 5340 0 14:10 pts/0 00:00:00 grep --color=auto tomcat
可以看到啟動(dòng)沒(méi)有問(wèn)題。
關(guān)閉
[root@localhost bin]# ./tomcat-8484.sh stop 關(guān)閉/data/tomcat/tomcat-8484 sh: line 2: kill: (18484) - No such process [root@localhost bin]# ps -ef |grep tomcat root 5621 5340 0 14:13 pts/0 00:00:00 grep --color=auto tomcat
查看進(jìn)程確實(shí)是關(guān)閉成功的,好了我們的tomcat啟動(dòng)腳本也就大功告成了,這個(gè)腳本還可以自己在此基礎上進(jìn)行延伸,例如在啟動(dòng)后就立即查看日志等。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站