主頁 > 知識(shí)庫 > 非常實(shí)用的Tomcat啟動(dòng)腳本實(shí)現(xiàn)方法

非常實(shí)用的Tomcat啟動(dòng)腳本實(shí)現(xiàn)方法

熱門標(biāo)簽:金融行業(yè)外呼線路 東莞人工智能電銷機(jī)器人供應(yīng)商 長(zhǎng)沙開福怎么申請(qǐng)400電話 廣州電銷機(jī)器人系統(tǒng)圖 江蘇電銷外呼防封系統(tǒng)是什么 智能電話機(jī)器人線路 賀州市地圖標(biāo)注app 高德地圖標(biāo)注無營(yíng)業(yè)執(zhí)照 百度地圖標(biāo)注要不要錢

前言

有這樣一個(gè)場(chǎng)景,公司為了安全起見,需要對(duì)所有登錄Linux服務(wù)器做安全限制,要求除了管理員其他要登錄linux服務(wù)器的員工不能用最高權(quán)限賬號(hào)登錄,要?jiǎng)?chuàng)建新的用戶,對(duì)目錄及文件權(quán)限做出控制,只能對(duì)需要操作的目錄允許讀,寫,執(zhí)行權(quán)限,其他目錄只有讀的權(quán)限,并且所有tomcat不能直接在bin中用startup.sh,shutdown.sh進(jìn)行啟動(dòng)和停止,要通過寫shell腳本進(jìn)行此操作,也就是說有兩個(gè)步驟,創(chuàng)建用戶并設(shè)置權(quán)限,寫tomcat啟動(dòng)腳本,下面我們就完成這兩個(gè)步驟。

1.首先我們就來創(chuàng)建一個(gè)普通用戶。

groupadd tomcat #加組 
useradd -g tomcat -s /usr/sbin/nologin tomcat #向組加用戶 
usermod -L tomcat #鎖定密碼,使密碼無效 
passwd tomcat # 設(shè)置密碼 

通過這四步,我們就把普通用戶創(chuàng)建好了,在創(chuàng)建用戶時(shí),我們是先創(chuàng)建的組,組創(chuàng)建完成后創(chuàng)建用戶并加入該組。

用戶創(chuàng)建完成后,就開始給用戶設(shè)置權(quán)限

chown -R tomcat:tomcat /data #分配權(quán)限給用戶 

這就是給tomcat這個(gè)用戶設(shè)置了可以操作data目錄及其子目錄下的權(quán)限,-R就代表該目錄及其級(jí)聯(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í)我們通過ls -l 命令就可以看到data目錄已經(jīng)屬于tomcat用戶,且擁有查看,寫入,執(zhí)行權(quán)限

2.完成了用戶創(chuàng)建后,我們就要開始完成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)腳本,首先我們要?jiǎng)?chuàng)建一個(gè)文本文件,然后將后綴名變成.sh,這里我是用端口號(hào)為8484的tomcat作為例子,從腳本文件中可以看到,總共只需對(duì)自己tomcat位置和日志位置進(jìn)行自定義改動(dòng)后就可以使用,總共有四個(gè)命令,start,stop,restart,logs。

腳本文件創(chuàng)建好后,只需將它放入你的服務(wù)器中,位置可以自己隨意選擇,我這里就把它放在了tomcat下bin目錄中。

腳本文件放入服務(wù)器后其實(shí)還不能使用,會(huì)有兩個(gè)問題待解決,一個(gè)是格式問題,一個(gè)是權(quán)限問題。因?yàn)槲覀兪俏谋疚募?chuàng)建的,其格式是文本格式,我們要改成unix格式,所以要進(jìn)行如下設(shè)置

sed -i "s/ 
//" tomcat-8484.sh #設(shè)置腳本文件為unix格式 

完成了格式設(shè)置后就要為該腳本文件設(shè)置權(quán)限,因?yàn)閘inux默認(rèn)文件的權(quán)限是drwxr-xr-x,即所有運(yùn)行權(quán)限賦予文件所有者也就是系統(tǒng)管理員(當(dāng)前我是用系統(tǒng)管理員登錄),把讀和運(yùn)行的權(quán)限賦予群組用戶,把讀的權(quán)限賦予其他用戶,所以我們要對(duì)腳本文件權(quán)限進(jìn)行重新設(shè)置。

chmod 777 ./tomcat-8484.sh 

chmod命令就是改變權(quán)限的命令,這個(gè)777是什么意思呢?

在Linux系統(tǒng)中,文件或目錄的權(quán)限又分為3種:只讀、只寫、可執(zhí)行。


依照上面的表格,權(quán)限組合就是對(duì)應(yīng)權(quán)限值求和,如下:

7 = 4 + 2 + 1 讀寫運(yùn)行權(quán)限

5 = 4 + 1 讀和運(yùn)行權(quán)限

4 = 4 只讀權(quán)限

因此,大家也就明白了 chmod 777 ./tomcat-8484.sh 命令的含義了。

此時(shí)我們的tomcat啟動(dòng)腳本就完成了,下面我們來演示一下。

啟動(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)沒有問題。

關(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è)腳本還可以自己在此基礎(chǔ)上進(jìn)行延伸,例如在啟動(dòng)后就立即查看日志等。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:北京 張家界 洛陽 滄州 廊坊 松原 永州 玉樹

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《非常實(shí)用的Tomcat啟動(dòng)腳本實(shí)現(xiàn)方法》,本文關(guān)鍵詞  非常,實(shí),用的,Tomcat,啟動(dòng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《非常實(shí)用的Tomcat啟動(dòng)腳本實(shí)現(xiàn)方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于非常實(shí)用的Tomcat啟動(dòng)腳本實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章