文章目录
- 一、脚本开发
- 1. 编写脚本
- 2. 修改脚本
- 3. 赋予权限
- 二、脚本执行
- 2.1. 启动tomact
- 2.2. 查看tomact状态
- 2.3. 停止tomact
一、脚本开发
1. 编写脚本
vim start-tomcat.sh
添加以下内容:
#!/bin/bash# description: Tomcat start/stop/status script#Location of JAVA_HOME (bin files)
#JDK安装路径
export JAVA_HOME=/app/jdk1.8.0_301#Add Java binary files to PATH
export PATH=$JAVA_HOME/bin:$PATH#CATALINA_HOME is the location of the bin files of Tomcat
#Tomcat安装路径
export CATALINA_HOME=/app/apache-tomcat-7.0.109#CATALINA_BASE is the location of the configuration files of this instance of Tomcat
#Tomcat安装路径
export CATALINA_BASE=/app/apache-tomcat-7.0.109
#Tomcat进程日志目录,方便启动好直接打印
logfile=/app/apache-tomcat-7.0.109/logs/catalina.out#TOMCAT_USER is the default user of tomcat
#Tomcat的启动用户
export TOMCAT_USER=pis#TOMCAT_USAGE is the message if this script is called without any options
TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"#SHUTDOWN_WAIT is wait time in seconds for java proccess to stop
SHUTDOWN_WAIT=3tomcat_pid() {echo `ps -fe | grep $CATALINA_BASE/conf | grep -v grep | tr -s " "|cut -d" " -f2`
}start() {pid=$(tomcat_pid)if [ -n "$pid" ]thenecho -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"else# Start tomcatecho -e "\e[00;32mStarting tomcat\e[00m"#if [ `user_exists $TOMCAT_USER` = "1" ];then# su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh#else#引用上面的变量启动脚本sh $CATALINA_HOME/bin/startup.sh#fistatusfi#引用上面变量名logfile 打印日志tail -f ${logfile}return 0
}status(){pid=$(tomcat_pid)if [ -n "$pid" ]; then echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"else echo -e "\e[00;31mTomcat is not running\e[00m"fi
}stop() {pid=$(tomcat_pid)if [ -n "$pid" ]thenecho -e "\e[00;31mStoping Tomcat\e[00m"sh $CATALINA_HOME/bin/shutdown.shlet kwait=$SHUTDOWN_WAITcount=0;until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]doecho -n -e "\n\e[00;31mwaiting for processes to exit\e[00m";sleep 1let count=$count+1;doneif [ $count -gt $kwait ]; thenecho -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m"kill -9 $pidfielseecho -e "\e[00;31mTomcat is not running\e[00m"fireturn 0
}user_exists(){if id -u $1 >/dev/null 2>&1; thenecho "1"elseecho "0"fi
}case $1 instart)start;;stop)stop;;restart)stopstart;;status)status;;*)echo -e $TOMCAT_USAGE;;
esac
exit 0
2. 修改脚本
第1处:JAVA_HOME
第2处:CATALINA_HOME
鼠标选中/app/apache-tomcat-7.0.109
ctrl+f-【替换】输入实际tomcat路径,点击全部替换即可
第3处: TOMCAT_USER根据实际情况我的用户是pis
3. 赋予权限
chmod +x start-tomcat.sh
二、脚本执行
2.1. 启动tomact
./start-tomcat.sh start
2.2. 查看tomact状态
./start-tomcat.sh status
2.3. 停止tomact
./start-tomcat.sh stop