Tomcat启动脚本

    记录一个比较好的tomcat启动脚本,截取《OneinStack》,修改如下两个参数即可用。

    使用之前修改下面2个参数:

    1. #Location of JAVA_HOME (bin files)
    2. export JAVA_HOME=/usr/java/jdk1.7.0_80    #jdk路径
    3. #CATALINA_HOME is the location of the configuration files of this instance of Tomcat
    4. CATALINA_HOME=/usr/local/tomcat    #tomcat路径  
    5. #TOMCAT_USER is the default user of tomcat
    6. TOMCAT_USER=www    #tomcat启动用户,需要shell权限

    tomcat启动、停止、重启,如下图:

    Tomcat启动脚本

    脚本内容如下:

    1. #!/bin/bash  
    2. #  
    3. # chkconfig: - 95 15   
    4. # description: Tomcat start/stop/status script  
    5.   
    6. #Location of JAVA_HOME (bin files)  
    7. export JAVA_HOME=  
    8.   
    9. #Add Java binary files to PATH  
    10. export PATH=$JAVA_HOME/bin:$PATH  
    11.   
    12. #CATALINA_HOME is the location of the configuration files of this instance of Tomcat  
    13. CATALINA_HOME=/usr/local/tomcat  
    14.   
    15. #TOMCAT_USER is the default user of tomcat  
    16. TOMCAT_USER=www  
    17.   
    18. #TOMCAT_USAGE is the message if this script is called without any options  
    19. TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"  
    20.   
    21. #SHUTDOWN_WAIT is wait time in seconds for java proccess to stop  
    22. SHUTDOWN_WAIT=20  
    23.   
    24. tomcat_pid() {  
    25.         echo `ps -ef | grep $CATALINA_HOME | grep -v grep | tr -s " "|cut -d" " -f2`  
    26. }  
    27.   
    28. start() {  
    29.   pid=$(tomcat_pid)  
    30.   if [ -n "$pid" ];then  
    31.     echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"  
    32.   else  
    33.     echo -e "\e[00;32mStarting tomcat\e[00m"  
    34.     if [ `user_exists $TOMCAT_USER` = "1" ];then  
    35.       su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh  
    36.     else  
    37.       $CATALINA_HOME/bin/startup.sh  
    38.     fi  
    39.     status  
    40.   fi  
    41.   return 0  
    42. }  
    43.   
    44. status(){  
    45.   pid=$(tomcat_pid)  
    46.   if [ -n "$pid" ];then  
    47.     echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"  
    48.   else  
    49.     echo -e "\e[00;31mTomcat is not running\e[00m"  
    50.   fi  
    51. }  
    52.   
    53. stop() {  
    54.   pid=$(tomcat_pid)  
    55.   if [ -n "$pid" ];then  
    56.     echo -e "\e[00;31mStoping Tomcat\e[00m"  
    57.         $CATALINA_HOME/bin/shutdown.sh  
    58.   
    59.     let kwait=$SHUTDOWN_WAIT  
    60.     count=0;  
    61.     until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]  
    62.     do  
    63.       echo -n -e "\e[00;31mwaiting for processes to exit\e[00m\n";  
    64.       sleep 1  
    65.       let count=$count+1;  
    66.     done  
    67.   
    68.     if [ $count -gt $kwait ];then  
    69.       echo -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m"  
    70.       kill -9 $pid  
    71.     fi  
    72.   else  
    73.     echo -e "\e[00;31mTomcat is not running\e[00m"  
    74.   fi  
    75.   
    76.   return 0  
    77. }  
    78.   
    79. user_exists(){  
    80.   if id -u $1 >/dev/null 2>&1; then  
    81.     echo "1"  
    82.   else  
    83.     echo "0"  
    84.   fi  
    85. }  
    86.   
    87. case $1 in  
    88.         start)  
    89.           start  
    90.         ;;  
    91.   
    92.         stop)    
    93.           stop  
    94.         ;;  
    95.   
    96.         restart)  
    97.           stop  
    98.           start  
    99.         ;;  
    100.   
    101.         status)  
    102.       status  
    103.         ;;  
    104.   
    105.         *)  
    106.       echo -e $TOMCAT_USAGE  
    107.         ;;  
    108. esac      
    109. exit 0  
    Sun Aug 2 20:13:23 CST 2015
    • 本文由 发表于 2015-08-02
    • 转载请务必保留本文链接:https://linuxeye.com/425.html
    RabbitMQ启动脚本 脚本

    RabbitMQ启动脚本

    记录一个rabbitmq启动脚本,修改部分参数即可用。 vi /etc/init.d/rabbitmq-server #脚本内容,见图下,需修改参数 chmod +x /etc/init.d/rabb...
    Tomcat日志切割(logrotate) Linux

    Tomcat日志切割(logrotate)

    logrotate是个强大的系统软件,它对日志文件有着一套完整的操作模式,譬如:转储、邮件和压缩等,并且默认logrotate加到cron(/etc/cron.daily/logrotate)作为每日...
    tomcat配置及优化 Linux

    tomcat配置及优化

    jdk安装 su - root mkdir jdk cd jdk wget https://mirror.its.sfu.ca/mirror/CentOS-Third-Party/NSG/common...
    匿名

    发表评论

    匿名网友

      • 深蓝 深蓝

        收藏之,今天刚用OneinStack配置了公司的java环境,很方便。