系统内一个或多个tomcat时使用的启动脚本
时间:2007-03-27 来源:bleach
#!/bin/bash
# Script name: Tomcat Startup/shutdown
# Author: seker QQ:531520
# Date: 2007.3.18
#
# Comment:
# 根据脚本名启动相应的tomcat进程.系统内一个或多个tomcat时使用,不可添加到 ntsysv 中启动
# 例如,要启动 /home/tomcat/tomcat5 则将此脚本复制到 /etc/rc.d/init.d/ 并命名为 tomcat5
# 注: /home/tomcat/tomcat5 是tomcat程序存放的目录,其下包含 webapps bin work conf 等目录
# 因其根据 basename $0 做启动服务名的判定,固不可建立自启动/关闭的软连接
# 要随系统启动请在 /etc/rc.d/rc.local 中加入命令 service tomcat5 start
# 手动启动/关闭请用root用户执行: service tomcat5 {start|stop|restart} 既可
# 日志文件存放位置: /var/log/tomcat.log
# 移植性: 只需更改脚本中如下变量,保持如下三个变量的正确即可在其他linux系统中使用
# $TUSER(启动tomcat的用户) $TOMCAT_HOME(tomcat5绝对路径) $JAVA_HOME(安装完JDK,建立/usr/java/jdk软连接)
# 使用此脚本无须在系统中设置JDK的环境变量
#
# Script start...
TCAT=`basename $0`
TUSER=tomcat
TOMCAT_HOME=/home/tomcat/$TCAT
# Function Set ENV
setenv() {
echo -e "JAVA_HOME=/usr/java/jdk
JRE_HOME=\$JAVA_HOME/jre
PATH=\$PATH:\$JAVA_HOME/bin
CLASSPATH=.:\$CLASSPATH:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH
" > /etc/profile.d/java.sh
chmod +x /etc/profile.d/java.sh
}
# Function Delete JDK_ENV
delenv() {
if [ -f /etc/profile.d/java.sh ]
then
rm -rf /etc/profile.d/java.sh
fi
}
# Function Start
start() {
echo "Starting $TCAT "
if [ -f /var/lock/subsys/$TCAT ]
then
echo -e "$TCAT is already exist\nplease stop $TCAT before do it"
exit 1
else
su - $TUSER -c "$TOMCAT_HOME/bin/startup.sh" >/dev/null 2>&1
if [ $? -eq 0 ]
then
touch /var/lock/subsys/$TCAT
echo "-----------$TCAT Start OK----------------" >> /var/log/tomcat.log
echo -e "`date +%Y-%m-%d_%H:%M:%S` \nUSER=$TUSER \nTOMCAT_PATH=$TOMCAT_HOME \nScript=$TCAT \nsuccessful!!!" >> /var/log/tomcat.log
echo "-----------$TCAT Start OK----------------" >> /var/log/tomcat.log
echo "" >> /var/log/tomcat.log
echo "Done.Tomcat.Start.OK!!!"
else
echo "-----------$TCAT Start Failed------------" >> /var/log/tomcat.log
echo -e "`date +%Y-%m-%d_%H:%M:%S` \nUSER=$TUSER \nTOMCAT_PATH=$TOMCAT_HOME \nScript=$TCAT \nFailed!!!" >> /var/log/tomcat.log
echo "-----------$TCAT Start Failed------------" >> /var/log/tomcat.log
echo "" >> /var/log/tomcat.log
echo "Done.Tomcat.Start.Failed!!!"
fi
fi
}
# Function stop
stop() {
echo "Stoping $TCAT "
su - $TUSER -c "$TOMCAT_HOME/bin/shutdown.sh" >/dev/null 2>&1
if [ $? -eq 0 ]
then
rm -rf /var/lock/subsys/$TCAT
echo "-----------$TCAT Stop OK----------------" >> /var/log/tomcat.log
echo -e "`date +%Y-%m-%d_%H:%M:%S` \nUSER=$TUSER \nTOMCAT_PATH=$TOMCAT_HOME \nScript=$TCAT \nsuccessful!!!" >> /var/log/tomcat.log
echo "-----------$TCAT Stop OK----------------" >> /var/log/tomcat.log
echo "" >> /var/log/tomcat.log
echo "Done.Tomcat.Stop.OK!!!"
else
echo "-----------$TCAT Stop Failed------------" >> /var/log/tomcat.log
echo -e "`date +%Y-%m-%d_%H:%M:%S` \nUSER=$TUSER \nTOMCAT_PATH=$TOMCAT_HOME \nScript=$TCAT \nFailed!!!" >> /var/log/tomcat.log
echo "-----------$TCAT Stop Failed------------" >> /var/log/tomcat.log
echo "" >> /var/log/tomcat.log
echo "Done.Tomcat.Stop.Failed!!!"
fi
} # Execute
case "$1" in
start)
setenv
start
delenv
;;
stop)
setenv
stop
delenv
;;
restart)
setenv
stop
start
delenv
;;
*)
echo "Usage: $TCAT {start|stop|restart}"
exit 1
;;
esac tomcat5介绍:
如果你想启动 /home/tomcat/tomcat21
将tomcat5复制到 /etc/rc.d/init.d/ 下,改名为 tomcat21 加上 x 可执行权限即可
想启动几个tomcat就复制几份过去,只要脚本名对应上就可以
随系统启动方法:在rc.local文件中加 service tomcat21 start 或 见tomcatall介绍
千万不要在 rc3.d/ 或 rc5.d/ 中建立软连接来启动
因脚本不能随系统自动关闭 所以写了另一个补救的脚本
tomcatall介绍:
将此脚本复制到 /etc/rc.d/init.d/ 目录下。(名字可随意)
添加到ntsysv服务启动列表中命令:chkconfig --add tomcatall
此脚本里面的tomcat* 请根据情况自行更改,默认设置如下:
start)
service tomcat11 start
service tomcat12 start
service tomcat13 start
service tomcat14 start
stop)
service tomcat11 stop
service tomcat12 stop
service tomcat13 stop
service tomcat14 stop
控制所有tomcat启动/关闭命令:service tomcatall {start|stop|restart}
# Comment:
# 根据脚本名启动相应的tomcat进程.系统内一个或多个tomcat时使用.不可将此脚本添加到 ntsysv 中启动
# 例如,要启动 /home/tomcat/tomcat5 则将此脚本复制到 /etc/rc.d/init.d/ 并命名为 tomcat5
# 注: /home/tomcat/tomcat5 是tomcat程序存放的目录,其下包含 webapps/ bin/ work/ conf/ 等目录
# 因其根据 basename $0 做启动服务名的判定,固不可建立自启动/关闭的软连接
# 要随系统启动请在 /etc/rc.d/rc.local 中加入命令 service tomcat5 start (或见上面的tomcatall补救方法)
# 手动启动/关闭请用root用户执行: service tomcat5 {start|stop|restart} 既可
# 日志文件存放位置: /var/log/tomcat.log
# 移植性: 只需更改脚本中如下变量:
# $TUSER(启动用户) $TOMCAT_HOME(tomcat5上层目录) $JAVA_HOME(安装完JDK,建立/usr/java/jdk软连接)
# 保持如上三个变量的正确即可在其他linux系统中使用
# 使用此脚本无须在系统中设置JDK的环境变量 tomcatall 脚本 #!/bin/bash
# chkconfig: 345 85 15
# description: Startup/shutdown TomcatAll Web server case "$1" in
start)
service tomcat11 start
service tomcat12 start
service tomcat13 start
service tomcat14 start
;;
stop)
service tomcat11 stop
service tomcat12 stop
service tomcat13 stop
service tomcat14 stop
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: tomcatall {start|stop|restart}"
exit 1
;;
esac
# Script name: Tomcat Startup/shutdown
# Author: seker QQ:531520
# Date: 2007.3.18
#
# Comment:
# 根据脚本名启动相应的tomcat进程.系统内一个或多个tomcat时使用,不可添加到 ntsysv 中启动
# 例如,要启动 /home/tomcat/tomcat5 则将此脚本复制到 /etc/rc.d/init.d/ 并命名为 tomcat5
# 注: /home/tomcat/tomcat5 是tomcat程序存放的目录,其下包含 webapps bin work conf 等目录
# 因其根据 basename $0 做启动服务名的判定,固不可建立自启动/关闭的软连接
# 要随系统启动请在 /etc/rc.d/rc.local 中加入命令 service tomcat5 start
# 手动启动/关闭请用root用户执行: service tomcat5 {start|stop|restart} 既可
# 日志文件存放位置: /var/log/tomcat.log
# 移植性: 只需更改脚本中如下变量,保持如下三个变量的正确即可在其他linux系统中使用
# $TUSER(启动tomcat的用户) $TOMCAT_HOME(tomcat5绝对路径) $JAVA_HOME(安装完JDK,建立/usr/java/jdk软连接)
# 使用此脚本无须在系统中设置JDK的环境变量
#
# Script start...
TCAT=`basename $0`
TUSER=tomcat
TOMCAT_HOME=/home/tomcat/$TCAT
# Function Set ENV
setenv() {
echo -e "JAVA_HOME=/usr/java/jdk
JRE_HOME=\$JAVA_HOME/jre
PATH=\$PATH:\$JAVA_HOME/bin
CLASSPATH=.:\$CLASSPATH:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH
" > /etc/profile.d/java.sh
chmod +x /etc/profile.d/java.sh
}
# Function Delete JDK_ENV
delenv() {
if [ -f /etc/profile.d/java.sh ]
then
rm -rf /etc/profile.d/java.sh
fi
}
# Function Start
start() {
echo "Starting $TCAT "
if [ -f /var/lock/subsys/$TCAT ]
then
echo -e "$TCAT is already exist\nplease stop $TCAT before do it"
exit 1
else
su - $TUSER -c "$TOMCAT_HOME/bin/startup.sh" >/dev/null 2>&1
if [ $? -eq 0 ]
then
touch /var/lock/subsys/$TCAT
echo "-----------$TCAT Start OK----------------" >> /var/log/tomcat.log
echo -e "`date +%Y-%m-%d_%H:%M:%S` \nUSER=$TUSER \nTOMCAT_PATH=$TOMCAT_HOME \nScript=$TCAT \nsuccessful!!!" >> /var/log/tomcat.log
echo "-----------$TCAT Start OK----------------" >> /var/log/tomcat.log
echo "" >> /var/log/tomcat.log
echo "Done.Tomcat.Start.OK!!!"
else
echo "-----------$TCAT Start Failed------------" >> /var/log/tomcat.log
echo -e "`date +%Y-%m-%d_%H:%M:%S` \nUSER=$TUSER \nTOMCAT_PATH=$TOMCAT_HOME \nScript=$TCAT \nFailed!!!" >> /var/log/tomcat.log
echo "-----------$TCAT Start Failed------------" >> /var/log/tomcat.log
echo "" >> /var/log/tomcat.log
echo "Done.Tomcat.Start.Failed!!!"
fi
fi
}
# Function stop
stop() {
echo "Stoping $TCAT "
su - $TUSER -c "$TOMCAT_HOME/bin/shutdown.sh" >/dev/null 2>&1
if [ $? -eq 0 ]
then
rm -rf /var/lock/subsys/$TCAT
echo "-----------$TCAT Stop OK----------------" >> /var/log/tomcat.log
echo -e "`date +%Y-%m-%d_%H:%M:%S` \nUSER=$TUSER \nTOMCAT_PATH=$TOMCAT_HOME \nScript=$TCAT \nsuccessful!!!" >> /var/log/tomcat.log
echo "-----------$TCAT Stop OK----------------" >> /var/log/tomcat.log
echo "" >> /var/log/tomcat.log
echo "Done.Tomcat.Stop.OK!!!"
else
echo "-----------$TCAT Stop Failed------------" >> /var/log/tomcat.log
echo -e "`date +%Y-%m-%d_%H:%M:%S` \nUSER=$TUSER \nTOMCAT_PATH=$TOMCAT_HOME \nScript=$TCAT \nFailed!!!" >> /var/log/tomcat.log
echo "-----------$TCAT Stop Failed------------" >> /var/log/tomcat.log
echo "" >> /var/log/tomcat.log
echo "Done.Tomcat.Stop.Failed!!!"
fi
} # Execute
case "$1" in
start)
setenv
start
delenv
;;
stop)
setenv
stop
delenv
;;
restart)
setenv
stop
start
delenv
;;
*)
echo "Usage: $TCAT {start|stop|restart}"
exit 1
;;
esac tomcat5介绍:
如果你想启动 /home/tomcat/tomcat21
将tomcat5复制到 /etc/rc.d/init.d/ 下,改名为 tomcat21 加上 x 可执行权限即可
想启动几个tomcat就复制几份过去,只要脚本名对应上就可以
随系统启动方法:在rc.local文件中加 service tomcat21 start 或 见tomcatall介绍
千万不要在 rc3.d/ 或 rc5.d/ 中建立软连接来启动
因脚本不能随系统自动关闭 所以写了另一个补救的脚本
tomcatall介绍:
将此脚本复制到 /etc/rc.d/init.d/ 目录下。(名字可随意)
添加到ntsysv服务启动列表中命令:chkconfig --add tomcatall
此脚本里面的tomcat* 请根据情况自行更改,默认设置如下:
start)
service tomcat11 start
service tomcat12 start
service tomcat13 start
service tomcat14 start
stop)
service tomcat11 stop
service tomcat12 stop
service tomcat13 stop
service tomcat14 stop
控制所有tomcat启动/关闭命令:service tomcatall {start|stop|restart}
# Comment:
# 根据脚本名启动相应的tomcat进程.系统内一个或多个tomcat时使用.不可将此脚本添加到 ntsysv 中启动
# 例如,要启动 /home/tomcat/tomcat5 则将此脚本复制到 /etc/rc.d/init.d/ 并命名为 tomcat5
# 注: /home/tomcat/tomcat5 是tomcat程序存放的目录,其下包含 webapps/ bin/ work/ conf/ 等目录
# 因其根据 basename $0 做启动服务名的判定,固不可建立自启动/关闭的软连接
# 要随系统启动请在 /etc/rc.d/rc.local 中加入命令 service tomcat5 start (或见上面的tomcatall补救方法)
# 手动启动/关闭请用root用户执行: service tomcat5 {start|stop|restart} 既可
# 日志文件存放位置: /var/log/tomcat.log
# 移植性: 只需更改脚本中如下变量:
# $TUSER(启动用户) $TOMCAT_HOME(tomcat5上层目录) $JAVA_HOME(安装完JDK,建立/usr/java/jdk软连接)
# 保持如上三个变量的正确即可在其他linux系统中使用
# 使用此脚本无须在系统中设置JDK的环境变量 tomcatall 脚本 #!/bin/bash
# chkconfig: 345 85 15
# description: Startup/shutdown TomcatAll Web server case "$1" in
start)
service tomcat11 start
service tomcat12 start
service tomcat13 start
service tomcat14 start
;;
stop)
service tomcat11 stop
service tomcat12 stop
service tomcat13 stop
service tomcat14 stop
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: tomcatall {start|stop|restart}"
exit 1
;;
esac
相关阅读 更多 +