1. 程式人生 > >由shell改進成Tomcat服務指令碼_Linux運維筆記

由shell改進成Tomcat服務指令碼_Linux運維筆記

上篇文章使用shell指令碼,能完成tomcat的重啟,清除快取檔案等功能,現在將這個指令碼真正改成了tomcat服務,功能和平時使用的服務沒啥區別,只是增加了del刪除快取功能,更加人性化,指令碼內容如下:

#!/bin/bash
#目的:嘗試使tomcat7關閉,並清除之前的快取
# chkconfig: 5 99 01
# description: tomcat7 start stop restart del
# Author : Fency
#先定義tomcat路徑變數:
tomcat_dir=/usr/local/apache-tomcat-7.0.47
echo "	功能介紹:(注:Tomcat路徑為:/usr/local/apache-tomcat-7.0.47,若需要請自行更改)"

#方法1:啟動tomcat
start(){
	#啟動tomcat之前先檢測一下,tomcat是否啟動
	tomcatPid_1=$(ps -ef|grep tomcat |grep java | awk '{print $2}')
	if [ "$tomcatPid_1" ]; then
		echo "	Tomcat正在執行,請先關閉tomcat"
	else
		sh $tomcat_dir/bin/startup.sh
		#啟動tomcat之後檢測一下是否啟動成功
		sleep 2
		tomcatPid_2=$(ps -ef|grep tomcat |grep java | awk '{print $2}')
		if [ "$tomcatPid_2" ]; then
			echo "	Success!!!Tomcat啟動成功"
		else
			echo "	Fail!!!Tomcat啟動失敗,請自行檢視原因"
		fi		
	fi
}
#方法2:關閉tomcat
stop(){
	#1.先檢測tomcat是否啟動
	tomcatPid_3=$(ps -ef|grep tomcat |grep java | awk '{print $2}') 
	if [ "$tomcatPid_3" ];then
		sh $tomcat_dir/bin/shutdown.sh
		#先用shutdown關閉一次,然後檢測
		sleep 1
		tomcatPid_4=$(ps -ef|grep tomcat |grep java | awk '{print $2}')
		if [ "$tomcatPid_4" ];then
			kill -9 $tomcatPid_4
		fi
	else 
		echo "	Tomcat沒有啟動;"
	fi
	#最後再檢測一下,關閉tomcat是否成功
	sleep 1
	tomcatPid_5=$(ps -ef|grep tomcat |grep java | awk '{print $2}') 
	if [ "$tomcatPid_5" ];then
		echo "	Tomcat關閉失敗,請自行檢視原因;"
	else
		echo "	Tomcat已經關閉;"
	fi
}
#方法3:做一個刪除tomcat快取檔案的工具
del(){
	#嘗試清日誌logs
	logs=$(ls $tomcat_dir/logs|wc -l)
	if [ "$logs" -eq 0 ];then
		echo "	logs下日誌檔案不存在"
	else
		echo "	logs日誌檔案存在,現在刪除"
		rm -rf $tomcat_dir/logs/*
	fi
	#清除/work/Catalina
	if [ ! -d "$tomcat_dir/work/Catalina" ];then
		echo "	/work/Catalian不存在"
	else
		rm -rf "$tomcat_dir/work/Catalina"
		echo "	work/Catalina存在,現已刪除"
	fi
	#嘗試清除配置檔案中的快取/conf/Catalina
	if [ ! -d "$tomcat_dir/conf/Catalina" ];then
		echo "	/conf/Catalina不存在"
	else
		rm -rf "$tomcat_dir/conf/Catalina"
		echo "	conf/Catalina存在,現已刪除"
	fi
}
#方法4:重啟tomcat(關閉->清除快取檔案->啟動)
restart(){
    stop
	del
    start
}

case "$1" in
    start)
    start
    ;;

    stop)
    stop
    ;;
	
    restart)
    restart
    ;;
	
	status)
    ps -ef|grep tomcat
    ;;
	
    *)
	
    echo $"Usage: $0 {start|stop|restart|status}"
esac


到/etc/rc.d/init.d下新建一個tomcat文字,貼上上如上內容,然後給予執行許可權,然後chkconfig 新增一下,就能使用了
效果如下:


重啟效果如下:

推薦linux運維學習千人群:148976441