每次启动tomcat,都需要进入到具体的路径下
/data/uficc/program/apache-tomcat-7.0.65/bin
,然后 ./startup.sh & 启动tomcat,需要重启是都是先kill掉进程后再次启动。
我的需求是:能不能编写个脚本,让我无论在那个路径下,只需要简单输入 :Manage stop tomcat 就可以停止tomcat服务,输入 Manage start tomcat 可以启动tomcat。哪位大能配置过的可以指点一下吗?谢谢了
二、tomcat服务脚本
#!/bin/sh
export CATALINA_BASE=/home/epm/tomcat
export CATALINA_HOME=/home/epm/tomcat
export CATALINA_TMPDIR=/home/epm/tomcat/temp
export JRE_HOME=/home/epm/jdk1.6.0_22
. /etc/init.d/functions TOMCAT=/home/epm/tomcat
start() {
echo -n "Starting Tomcat: "
/root/rc.local start
Su – epm –c “ /home/epm/tomcat/bin/startup.sh start”
}
stop() {
echo -n "Stopping Tomcat: "
/home/epm/tomcat/bin/shutdown.sh stop
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
;;
restart)
stop
sleep 2
start
;;
*)
echo "Usage: $0 {start stop restart}" ;;
esac
exit $RETVAL
三、生成可用脚本步骤
根据不同的用户,更改相关参数,把脚本放在/etc/init.d/下。
1、脚本命名规范:
以所提供的服务名称命名,比如epm;如有多个epm服务,命名为epm1、epm2、、、
2、脚本生成方法
以root权限登录系统,输入命令如下:
#vi /etc/init.d/epm
把上面的脚本内容拷贝进去,并作相应修改,然后保存,输入如下命令:
#chmod a+x epm 生成可执行脚本
这时,你就可以用服务命令:service epm start service epm stop service epm restart来
测试服务脚本是否正确,服务是否能够启动。
3、脚本启动顺序控制
本次项目中,usportal要先启动,所以当生成usportal服务脚本时,上面的脚本# chkconfig: 2345 40 20处,要修改为# chkconfig: 2345 40 20 其它服务脚本定为# chkconfig: 2345 99 40。
4、把服务加入自启动,命令如下:
#chkconfig epm on
5、重新启动服务器,看能否随服务器启动
四、服务监控脚本
1、当某个服务停止后,要进行监控,重新抓起服务,使其运行,脚本内容如下:
CheckList=('usportal' 'epm' 'eps')
size=${#CheckList[*]}
echo '脚本启动,检测以下任务='${CheckList[@]}',检测任务数='$size
for((n=0;n
do
task=${CheckList[n]}
status=`ps -ef | grep "/${task}/tomcat" | grep -v "grep" | wc -l`
if [ "$status" = "0" ]
then
echo '检测到'${task}'工程状态='$status',需要启动'
su - "$task" -c "/home/${task}/tomcat/bin/startup.sh start"
else
echo '检测到'${task}'工程状态='$status',运行正常'
fi
done
exit
说明:CheckList=('usportal' 'epm' 'eps')中的'usportal' 'epm' 'eps'是你创建的用户,中间件tomcat必须在其下。
2、脚本命名规范
同服务脚本命名规范,脚本统一放在/root/task/目录下
五、为服务监控脚本设定任务计划
为任务计划设定的频率为:每半小时一次
以root省份登陆,命令如下
5 * * * * root run-parts /root/jb
1:找到tomcat安装路径
[root@localhost ~]# cd .. (返回上一级目录)
[root@localhost /]# ls (列出该目录下的所有文件)
bin dev home lib64 media mnt opt root selinux sys tmp var
boot etc lib lost+found misc net proc sbin srv tftpboot usr
[root@localhost /]# cd var (打开var这个文件夹)
[root@localhost var]# ls (查看该文件的列表)
account crash empty gdm local mail opt run tux
arpwatch cvs ftp kerberos lock named preserve spool www
cache db games lib log nis racoon tmp yp
(看来不在var文件夹中,只能返回上一级目录)
[root@localhost var]# cd ..
[root@localhost /]# cd usr
[root@localhost usr]# ls
2.sql
etc java lib64 sbin tmp
apache-tomcat-7.0.14.tar games kerberos libexec share tomcat7.0
bin include lib local src X11R6
[root@localhost usr]# cd tomcat7.0 (打开tomcat7.0这个文件夹)
[root@localhost tomcat7.0]# ls
bin hsperfdata_root LICENSE NOTICE RUNNING.txt webapps
conf lib logs RELEASE-NOTES temp work
[root@localhost tomcat7.0]# cd bin
[root@localhost bin]# ls
bootstrap.jar configtest.sh setclasspath.sh tomcat-native.tar.gz
catalina.bat cpappend.bat shutdown.bat tool-wrapper.bat
catalina.sh d: shutdown.sh tool-wrapper.sh
catalina-tasks.xml digest.bat startup.bat version.bat
commons-daemon.jar digest.sh startup.sh version.sh
commons-daemon-native.tar.gz setclasspath.bat tomcat-juli.jar
[root@localhost bin]# ./ (当前目录,这里是做什么用的,不太清楚。。。)
-bash: ./: is a directory
[root@localhost bin]# ./startup.sh (启动Tomcat)
Using CATALINA_BASE: /usr/tomcat7.0
Using CATALINA_HOME: /usr/tomcat7.0
Using CATALINA_TMPDIR: /usr/tomcat7.0
Using JRE_HOME: /usr/java/jdk1.6.0_24
Using CLASSPATH: /usr/tomcat7.0/bin/bootstrap.jar:/usr/tomcat7.0/bin/tomcat-juli.jar
启动成功
2:查看tomcat的日志
[root@localhost bin]# cd ..
[root@localhost tomcat7.0]# ls
bin hsperfdata_root LICENSE NOTICE RUNNING.txt webapps
conf lib logs RELEASE-NOTES temp work
[root@localhost tomcat7.0]# cd logs (打开日志文件夹)
[root@localhost logs]# ls
catalina.2011-05-30.log localhost.2011-06-28.log
catalina.out localhost_access_log.2011-06-27.txt
host-manager.2011-05-30.log localhost_access_log.2011-07-07.txt
可以看看jerkins 自动打包发布