关于如何编写启动linux下的tomcat脚本问题

每次启动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

tomcat: Start/Stop/Restart tomcat

chkconfig: 2345 40 20

description: Tomcat is a Java Servlet Container

match these values to your environment:

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

Source function library.

. /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

}

See how we were called.

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 自动打包发布