`

在SUSE Linux中将Tomcat自动启动

阅读更多
在/etc/init.d/boot.local文件中添加命令。Red Hat系统的对应文件是/etc/rc.d/rc.local。

对于Linux系统启动时自动运行的命令或程序,在rh-based linux 系统,一般常见是放在 /etc/rc.d/rc.local 中。但SuSE Linux 没有这个文件,另外也不推荐使用者这样管理启动服务。推荐使用正规的方式来管理服务启动方式。

有人会说,在SuSE系统里,可以放在 /etc/init.d/boot.local 中,这要看实际情况。因为 SuSE 的 /etc/init.d/boot.local 文件是由/etc/init.d/boot 这个 script 所启动的,而且是最后 boot script 工作完成要准备进入 runlevel 环境执行各项 rc script 时所执行。而rh 的 /etc/rc.d/rc.local 档案是 runlevel 环境执行各项 rc script 时最后一个阶段执行的,所以层面不一样。如果你要运行的程序适合于runlevel 这项服务之前就执行的话,在SuSE linux 中可以放在 boot.local 文件里。

但如果你的服务需要是在进入 runlevel 后才执行的话,SuSE 下正规做法应该是自己写一个 rc script放到 /etc/init.d/ 目录下,然后使用 chkconfig or inssev 程序来管理配置能够于某个 runlevel 环境开机时是否要启用关闭该服务项目。该 rc script 写法可以自己参考一下 /etc/init.d/ 里面现成的 script 档案,应该很容易就写一个自己的版本。



一、创建启动/停止脚本文件

通过一下脚本,可以使Tomcat以Service方式运行。

#!/bin/bash
# chkconfig: 2345 10 90
# description: Starts and Stops the Tomcat daemon.

TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-5.5.25
TOMCAT_START=$TOMCAT_HOME/bin/startup.sh
TOMCAT_STOP=$TOMCAT_HOME/bin/shutdown.sh

# necessary environment variables export
CATALINA_HOME=$TOMCAT_HOME
export JAVA_HOME=/usr/java/jdk1.6.0_03

# source function library.
. /etc/rc.d/init.d/functions

# source networking configuration.
. /etc/rc.d/network

# check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0


# check for tomcat script
if [ ! -f $TOMCAT_HOME/bin/catalina.sh ]
then echo "Tomcat not valilable..."
exit
fi

start(){
    echo -n "Starting Tomcat: "
    daemon $TOMCAT_START
    echo
    touch /var/lock/subsys/tomcat
}

stop(){
    echo -n $"Shutting down Tomcat: "
    daemon $TOMCAT_STOP
    rm -f /var/lock/subsys/tomcat.pid echo
}

restart(){
    stop
    start
}

status(){
    ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt
    read line < /tmp/tomcat_process_count.txt
    if [ $line -gt 0 ]; then
        echo -n "tomcat ( pid "
        ps ax --width=1000 | grep "org.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}'
        echo -n ") is running..."
        echo
    else
        echo "Tomcat is stopped"
    fi
}

case "$1" in
    start)
        start ;;
    stop)
        stop ;;
    restart)
        stop
        sleep 3
        start ;;
    status)
        status ;;
    *)
    echo "Usage: tomcatd {start|stop|restart|status}"
    exit 1
esac
exit 0


二、保存并设置脚本文件

将以上的脚本文件保存在/etc/init.d中,命名为tomcat;
设置tomcat的文件属性
    #chmod a+x tomcat

三、设置服务运行级别
最后用chkconfig设置服务运行
    #chkconfig --add tomcat

服务就添加成功了。

然后你就可以用 chkconfig --list 查看,在服务列表里就会出现自定义的服务了。



注意:
在tomcat文件的头两行的注释语句中,需要包含chkconfig和description两部分内容(确认不要拼写错误,),否则在执行“chkconfig --add tomcat”时,会出现“tomcat服务不支持chkconfig”的错误提示。

chkconfig这行表示缺省启动的运行级别以及启动和停止的优先级,如该服务缺省不再任何运行级启动,则以 - 代替运行级别。在tomcat中表示脚本在运行级2、3、4、5启动,启动优先权为10,停止优先权为90。

description行对服务进行描述,可以用 “\” 跨行注释。
分享到:
评论
2 楼 liuxinhongxin 2008-12-19  
suse 11。0 没有发现 /etc/rc.d/init.d/functions 这个目录 阿
1 楼 tillzhang 2008-09-09  
以上的正在测试,不知哪的原因一直未成功实现自动重启。

相关推荐

    SUSE Linux下开机自动运行脚本命令的方法

    在SUSE Linux(如openSUSE)中,为了实现系统启动时自动执行某些脚本或命令,需要了解和利用特定的启动脚本机制。本文将详细介绍openSUSE 11和10 SP2中的启动文件设置方法,并通过一个具体的例子来展示如何实现开机...

    SUSE Linux Enterprise 12 SP5安装包ISO镜像

    SUSE Linux Enterprise 12 SP5-Server-DVD-x86_64-GM-DVD1.iso SUSE Linux Enterprise 12 SP5-Server-DVD-x86_64-GM-DVD2.iso Raj Meel宣布了适用于SUSE Linux Enterprise 12的第五个服务包,这是该公司商业,企业...

    SUSE Linux 11 Bible

    《SUSE Linux 11 Bible》是一本深入探讨SUSE Linux发行版的全面指南,主要聚焦于OpenSUSE 11.0和SUSE Linux Enterprise Server。本书由Roger Whittaker和Justin Davies合著,由Wiley Publishing, Inc.出版。这本书...

    基于SUSE Linux下的oracle10g数据库和tomcat应用系统安装配置参考手册

    自己编写的文档《基于SUSE Linux下的oracle10g数据库和tomcat应用系统安装配置参考手册》 目 录 1. 引言 4 1.1 目的 4 1.2 适用范围 4 1.3 参考资料 4 2. 虚拟机中安装SUSE LINUX系统 5 2.1 新建虚拟机 5 2.2 安装...

    suse linux常用命令

    在Suse Linux中,目录管理是非常重要的。通过学习以下命令,用户可以轻松地管理目录,提高工作效率。 1. 配置默认网关 在Suse Linux中,配置默认网关可以通过以下命令实现: `sudo route add default gw &lt;网关IP&gt;...

    SUSELINUX管理指南

    在学习SUSE Linux的管理时,你需要掌握以下几个关键知识点: 1. **安装与配置**:了解如何通过YaST(Yet another Setup Tool)进行系统安装,包括分区、网络设置、软件选择等。 YaST是SUSE Linux的集成管理工具,...

    Suse Linux Enterprise 12 SP3下载资源

    日常进行开发安装虚拟机,需要Suse Linux操作系统,官网下载速度忒慢,特上传网盘资源,需要的伙伴可以下载

    suse linux安装图文教程

    如果您想在虚拟机中安装 SUSE Linux,可以使用虚拟机软件,例如 VMware 或 VirtualBox,创建一个虚拟机,安装 SUSE Linux。虚拟机安装可以帮助您更好地测试和体验 SUSE Linux。 总结 SUSE Linux 安装图文教程详细...

    suse linux 10.0新手指南

    《SUSE Linux 10.0 新手指南》是一份专为初学者设计的详尽教程,旨在帮助那些刚刚接触Linux系统,特别是SUSE Linux 10.0的用户快速上手。SUSE Linux是由德国SUSE公司开发的一款知名的开源操作系统,以其稳定性和企业...

    Suselinux基础及系统管理.pdf

    在安装SUSE Linux前,需要了解一些基础知识,如硬盘分区和SWAP分区的设置。SWAP分区用于当物理内存不足时,作为临时存储空间。分区格式可以选择传统的EXT4,或者更现代的XFS或Btrfs。安装过程中,用户需选择启动...

    suselinux详细安装介绍

    本文提供了 SuSE Linux 的详细安装介绍,涵盖了 Linux 安装前的准备、目录结构、文件系统概念、磁盘分区等多个方面的知识点。通过本文,读者可以系统地了解 SuSE Linux 的安装过程,并且对 Linux 操作系统的基本概念...

    SUSE Linux Enterprise 11 SP4 系统安装.pdf

    在本文中,我们将详细讲解如何进行SUSE Linux Enterprise 11 SP4的系统安装。 ### 1. 引导安装介质 首先,你需要将安装光盘或DVD插入计算机的光驱,并重新启动电脑。启动过程中,系统会自动从安装介质引导并显示...

    SuseLinux11 64位 系统镜像

    SLES-11-SP4-DVD-x86_64-GM-DVD1.iso 已安装成功 suselinux 64位

    SUSE Linux Enterprise Server 11 SP4 下载使用

    SUSE Linux Enterprise Server 11 SP4下载,请放心使用

    SuSe Linux 10 宝典 (PDF最新英文版)

    本书涵盖了SUSE Linux 10的多个方面,包括基础知识、安装过程、命令行编程、系统架构、网络服务配置以及如何在企业环境中部署和使用SUSE Linux 10等内容。 ### 1. SUSE Linux 10 基础知识 #### 1.1 操作系统简介 -...

    Suse Linux 11 SP3+LVM

    在本篇文章中,我们将详细介绍如何使用逻辑卷方式安装 SuSE Linux 11 SP3,实现后期分区空间灵活调整。 什么是 LVM? LVM(Logical Volume Manager,逻辑卷管理器)是 Linux 中的一种存储管理系统,它允许用户在...

    怎么在suselinux下改root密码

    在SuSE Linux系统中,如果当前登录用户为root,或者普通用户通过`su`命令切换到root用户后,可以通过以下步骤来更改root密码: 1. 打开终端。 2. 输入`sudo passwd root`或直接`passwd`命令(如果当前用户就是root...

    he Definitive Guide to SUSE Linux Enterprise Server 12

    the Definitive Guide to SUSE Linux Enterprise Server 12 is a task-oriented book designed for self-study as well as classroom environments, which will also serve you as a reference guide. The book ...

    suse Linux 12中文版--快速入门

    如果在启动安装系统时无法自动配置网络,会打开网络设置对话框,需要至少有一个网络接口配置完毕后,才能将系统注册到SUSE Customer Center (SCC)。在安装过程中,安装程序可能会询问是否安装最新的可用联机更新,...

Global site tag (gtag.js) - Google Analytics