中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

非常實用的Tomcat啟動腳本實現方法

發布時間:2020-10-15 15:06:58 來源:腳本之家 閱讀:143 作者:臥龍小蛋蛋 欄目:服務器

前言

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

1.首先我們就來創建一個普通用戶。

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

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

用戶創建完成后,就開始給用戶設置權限

chown -R tomcat:tomcat /data #分配權限給用戶 

這就是給tomcat這個用戶設置了可以操作data目錄及其子目錄下的權限,-R就代表該目錄及其級聯子目錄。

[root@localhost data]# ls -l 
total 0 
drwxr-xr-x. 4 tomcat tomcat 79 May 20 08:03 tomcat 
[root@localhost data]# 

 此時我們通過ls -l 命令就可以看到data目錄已經屬于tomcat用戶,且擁有查看,寫入,執行權限

2.完成了用戶創建后,我們就要開始完成tomcat啟動腳本。

如代碼所示:

#!/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 "啟動$tomcat_home" 
$STARTTOMCAT 
cd /data/tomcat/tomcat-8484/logs 
tail -f catalina.out 
;; 
stop) 
echo "關閉$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的臨時目錄 
#rm $tomcat_home/work/* -rf 
;; 
restart) 
echo "關閉$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 "啟動$tomcat_home" 
$STARTTOMCAT 
#看啟動日志 
#tail -f $tomcat_home/logs/catalina.out 
;; 
logs) 
cd /data/tomcat/tomcat-8484/logs 
tail -f catalina.out 
;; 
esac 

上面代碼就是tomcat啟動腳本,首先我們要創建一個文本文件,然后將后綴名變成.sh,這里我是用端口號為8484的tomcat作為例子,從腳本文件中可以看到,總共只需對自己tomcat位置和日志位置進行自定義改動后就可以使用,總共有四個命令,start,stop,restart,logs。

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

腳本文件放入服務器后其實還不能使用,會有兩個問題待解決,一個是格式問題,一個是權限問題。因為我們是文本文件創建的,其格式是文本格式,我們要改成unix格式,所以要進行如下設置

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

完成了格式設置后就要為該腳本文件設置權限,因為linux默認文件的權限是drwxr-xr-x,即所有運行權限賦予文件所有者也就是系統管理員(當前我是用系統管理員登錄),把讀和運行的權限賦予群組用戶,把讀的權限賦予其他用戶,所以我們要對腳本文件權限進行重新設置。

chmod 777 ./tomcat-8484.sh 

chmod命令就是改變權限的命令,這個777是什么意思呢?

在Linux系統中,文件或目錄的權限又分為3種:只讀、只寫、可執行。

非常實用的Tomcat啟動腳本實現方法

依照上面的表格,權限組合就是對應權限值求和,如下:

7 = 4 + 2 + 1 讀寫運行權限

5 = 4 + 1 讀和運行權限

4 = 4 只讀權限

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

此時我們的tomcat啟動腳本就完成了,下面我們來演示一下。

啟動

[root@localhost bin]# ./tomcat-8484.sh start 
啟動/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. 

我們查看進程看一下是否真的啟動

[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 

可以看到啟動沒有問題。

關閉

[root@localhost bin]# ./tomcat-8484.sh stop 
關閉/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 

查看進程確實是關閉成功的,好了我們的tomcat啟動腳本也就大功告成了,這個腳本還可以自己在此基礎上進行延伸,例如在啟動后就立即查看日志等。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上杭县| 攀枝花市| 九寨沟县| 岢岚县| 漳浦县| 株洲市| 陈巴尔虎旗| 会泽县| 惠水县| 繁昌县| 札达县| 桃江县| 丰原市| 敖汉旗| 奉新县| 察隅县| 高雄县| 娄烦县| 庆安县| 景德镇市| 元朗区| 怀仁县| 禹城市| 红安县| 遵义市| 加查县| 贵阳市| 政和县| 泗洪县| 温宿县| 阆中市| 台前县| 郯城县| 海城市| 边坝县| 华容县| 凉城县| 友谊县| 墨竹工卡县| 加查县| 博白县|