使用jsvc编写tomcat5自启动安全脚本

    1.安装jsvc
#cd /usr/local/xiaobai/apache-tomcat-5.5.20/bin
#tar xvfz jsvc.tar.gz
#cd jsvc-src
#sh support/buildconf.sh
#chmod 755 configure
#./configure --with-java=/usr/local/xiaobai/jdk1.5.0_09      (改成你的jdk的位置)
#make

2、添加脚本让tomcat自动启动
#useradd tomcat5     添加用户
#groupadd tomcat  添加组
#usermod -g tomcat tomcat5  把tomcat5加入tomcat组

#chown -r tomcat5 /usr/local/xiaobai/apache-tomcat-5.5.20
设置用户tomcat5对tomcat的权限

#cp /usr/local/xiaobai/apache-tomcat-5.5.20/bin/jsvc-src/native/tomcat5.sh /etc/init.d/tomcat
移动文件tomcat5.sh到/etc/init.d/里面并改名为tomcat

#chmod 755 /etc/init.d/tomcat
#vi /etc/init.d/tomcat

删除原有内容添加如下内容

#!/bin/sh
#
# startup script for tomcat5
#
# chkconfig: 345 88 14
# description: tomcat daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:
#
# source function library.
. /etc/rc.d/init.d/functions
#
prog=tomcat
#
java_home=/usr/local/xiaobai/jdk1.5.0_09
catalina_home=/usr/local/xiaobai/apache-tomcat-5.5.20
daemon_home=/usr/local/xiaobai/apache-tomcat-5.5.20/bin
#tomcat_user=tomcat5
tomcat_user=tomcat5

# for multi instances adapt those lines.
tmp_dir=/var/tmp
pid_file=/var/run/jsvc.pid
catalina_base=/usr/local/xiaobai/apache-tomcat-5.5.20

catalina_opts=
classpath=\
$java_home/lib/tools.jar:\
$catalina_home/bin/commons-daemon.jar:\
$catalina_home/bin/bootstrap.jar

case "$1" in
  start)
    #
    # start tomcat
    #
    $daemon_home/jsvc-src/jsvc \
    -user $tomcat_user \
    -home $java_home \
    -dcatalina.home=$catalina_home \
    -dcatalina.base=$catalina_base \
    -djava.io.tmpdir=$tmp_dir \
    -wait 10 \
    -pidfile $pid_file \
    -outfile $catalina_home/logs/catalina.out \
    -errfile '&1' \
    $catalina_opts \
    -cp $classpath \
    org.apache.catalina.startup.bootstrap
    #
    # to get a verbose jvm
    #-verbose \
    # to get a debug of jsvc.
    #-debug \
    exit $?
    ;;

  stop)
    #
    # stop tomcat
    #
    $daemon_home/jsvc-src/jsvc \
    -stop \
    -pidfile $pid_file \
    org.apache.catalina.startup.bootstrap
    exit $?
    ;;

  *)
    echo "usage tomcat.sh start/stop"
    exit 1;;
esac

#service tomcat start   测试tomcat能不能启动
#chkconfig tomcat on  
#chkconfig --list tomcat
完成自启动脚本

注意:
在tomcat文件的头两行的注释语句中,需要包含chkconfig和description两部分内容(确认不要拼写错误,),否则在执行“chkconfig --add tomcat”时,会出现“tomcat服务不支持chkconfig”的错误提示。
chkconfig这行表示缺省启动的运行级别以及启动和停止的优先级,如该服务缺省不再任何运行级启动,则以 - 代替运行级别。在tomcat中表示脚本在运行级2、3、4、5启动,启动优先权为10,停止优先权为90。
description行对服务进行描述,可以用 “\” 跨行注释。

 

你可能感兴趣的:(java,工作)