1、下载(最新版本)并解压,cd进入安装目录

#  wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

# tar zxvf cronolog-1.6.2.tar.gz
    # cd cronolog-1.6.2

2、运行安装
    # ./configure
    # make
    # make install

3、查看cronolog安装后所在目录(验证安装是否成功)
    # which cronolog
   一般情况下显示为:/usr/local/sbin/cronolog

要想分割tomcat7的catalina.out,需作如下工作:

进入Tomcat的bin目录,打开catalina.sh文件,一般我们修改下面行中的内容(因为我们一般不会在-security条件下运行),

(1)if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

fi
改为:
if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out
fi
(2)touch "$CATALINA_OUT"  
if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath \"$CLASSPATH\" \
      -Djava.security.manager \
      -Djava.security.policy==\"$CATALINA_BASE/conf/catalina.policy\" \
      -Dcatalina.base=\"$CATALINA_BASE\" \
      -Dcatalina.home=\"$CATALINA_HOME\" \
      -Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
      org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1 "&"      
  else
    eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath \"$CLASSPATH\" \
      -Dcatalina.base=\"$CATALINA_BASE\" \
      -Dcatalina.home=\"$CATALINA_HOME\" \
      -Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
      org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1 "&"

fi

if [ ! -z "$CATALINA_PID" ]; then
    echo $! > "$CATALINA_PID"
  fi
改为:
#  touch "$CATALINA_OUT"  
if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath \"$CLASSPATH\" \
      -Djava.security.manager \
      -Djava.security.policy==\"$CATALINA_BASE/conf/catalina.policy\" \
      -Dcatalina.base=\"$CATALINA_BASE\" \
      -Dcatalina.home=\"$CATALINA_HOME\" \
      -Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
      org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
      | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
  else
    eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath \"$CLASSPATH\" \
      -Dcatalina.base=\"$CATALINA_BASE\" \
      -Dcatalina.home=\"$CATALINA_HOME\" \
      -Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
       org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
       | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

fi

if [ ! -z "$CATALINA_PID" ]; then
    echo $! > "$CATALINA_PID"
  fi

配置完成的catalina.out

#!/bin/sh

# Licensed to the Apache Software Foundation (ASF) under one or more

# contributor license agreements.  See the NOTICE file distributed with

# this work for additional information regarding copyright ownership.

# The ASF licenses this file to You under the Apache License, Version 2.0

# (the "License"); you may not use this file except in compliance with

# the License.  You may obtain a copy of the License at

#

#     http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.

# -----------------------------------------------------------------------------

# Control Script for the CATALINA Server

#

# Environment Variable Prerequisites

#

#   Do not set the variables in this script. Instead put them into a script

#   setenv.sh in CATALINA_BASE/bin to keep your customizations separate.

#

#   CATALINA_HOME   May point at your Catalina "build" directory.

#

#   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions

#                   of a Catalina installation.  If not present, resolves to

#                   the same directory that CATALINA_HOME points to.

#

#   CATALINA_OUT    (Optional) Full path to a file where stdout and stderr

#                   will be redirected.

#                   Default is $CATALINA_BASE/logs/catalina.out

#

#   CATALINA_OPTS   (Optional) Java runtime options used when the "start",

#                   "run" or "debug" command is executed.

#                   Include here and not in JAVA_OPTS all options, that should

#                   only be used by Tomcat itself, not by the stop process,

#                   the version command etc.

#                   Examples are heap size, GC logging, JMX ports etc.

#

#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory

#                   the JVM should use (java.io.tmpdir).  Defaults to

#                   $CATALINA_BASE/temp.

#

#   JAVA_HOME       Must point at your Java Development Kit installation.

#                   Required to run the with the "debug" argument.

#

#   JRE_HOME        Must point at your Java Runtime installation.

#                   Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME

#                   are both set, JRE_HOME is used.

#

#   JAVA_OPTS       (Optional) Java runtime options used when any command

#                   is executed.

#                   Include here and not in CATALINA_OPTS all options, that

#                   should be used by Tomcat and also by the stop process,

#                   the version command etc.

#                   Most options should go into CATALINA_OPTS.

#

#   JAVA_ENDORSED_DIRS (Optional) Lists of of colon separated directories

#                   containing some jars in order to allow replacement of APIs

#                   created outside of the JCP (i.e. DOM and SAX from W3C).

#                   It can also be used to update the XML parser implementation.

#                   Defaults to $CATALINA_HOME/endorsed.

#

#   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"

#                   command is executed. The default is "dt_socket".

#

#   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"

#                   command is executed. The default is localhost:8000.

#

#   JPDA_SUSPEND    (Optional) Java runtime options used when the "jpda start"

#                   command is executed. Specifies whether JVM should suspend

#                   execution immediately after startup. Default is "n".

#

#   JPDA_OPTS       (Optional) Java runtime options used when the "jpda start"

#                   command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,

#                   and JPDA_SUSPEND are ignored. Thus, all required jpda

#                   options MUST be specified. The default is:

#

#                   -agentlib:jdwp=transport=$JPDA_TRANSPORT,

#                       address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND

#

#   CATALINA_PID    (Optional) Path of the file which should contains the pid

#                   of the catalina startup java process, when start (fork) is

#                   used

#

#   LOGGING_CONFIG  (Optional) Override Tomcat's logging config file

#                   Example (all one line)

#                   LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"

#

#   LOGGING_MANAGER (Optional) Override Tomcat's logging manager

#                   Example (all one line)

#                   LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

# -----------------------------------------------------------------------------

# OS specific support.  $var _must_ be set to either true or false.

cygwin=false

darwin=false

os400=false

case "`uname`" in

CYGWIN*) cygwin=true;;

Darwin*) darwin=true;;

OS400*) os400=true;;

esac

# resolve links - $0 may be a softlink

PRG="$0"

while [ -h "$PRG" ]; do

ls=`ls -ld "$PRG"`

link=`expr "$ls" : '.*-> \(.*\)$'`

if expr "$link" : '/.*' > /dev/null; then

PRG="$link"

else

PRG=`dirname "$PRG"`/"$link"

fi

done

# Get standard environment variables

PRGDIR=`dirname "$PRG"`

# Only set CATALINA_HOME if not already set

[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`

# Copy CATALINA_BASE from CATALINA_HOME if not already set

[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"

# Ensure that neither CATALINA_HOME nor CATALINA_BASE contains a colon

# as this is used as the separator in the classpath and Java provides no

# mechanism for escaping if the same character appears in the path.

case $CATALINA_HOME in

*:*) echo "Using CATALINA_HOME:   $CATALINA_HOME";

echo "Unable to start as CATALINA_HOME contains a colon (:) character";

exit 1;

esac

case $CATALINA_BASE in

*:*) echo "Using CATALINA_BASE:   $CATALINA_BASE";

echo "Unable to start as CATALINA_BASE contains a colon (:) character";

exit 1;

esac

# Ensure that any user defined CLASSPATH variables are not used on startup,

# but allow them to be specified in setenv.sh, in rare case when it is needed.

CLASSPATH=

if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then

. "$CATALINA_BASE/bin/setenv.sh"

elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then

. "$CATALINA_HOME/bin/setenv.sh"

fi

# For Cygwin, ensure paths are in UNIX format before anything is touched

if $cygwin; then

[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`

[ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`

[ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`

[ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"`

[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`

fi

# For OS400

if $os400; then

# Set job priority to standard for interactive (interactive - 6) by using

# the interactive priority - 6, the helper threads that respond to requests

# will be running at the same priority as interactive jobs.

COMMAND='chgjob job('$JOBNAME') runpty(6)'

system $COMMAND

# Enable multi threading

export QIBM_MULTI_THREADED=Y

fi

# Get standard Java environment variables

if $os400; then

# -r will Only work on the os400 if the files are:

# 1. owned by the user

# 2. owned by the PRIMARY group of the user

# this will not work if the user belongs in secondary groups

. "$CATALINA_HOME"/bin/setclasspath.sh

else

if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then

. "$CATALINA_HOME"/bin/setclasspath.sh

else

echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"

echo "This file is needed to run this program"

exit 1

fi

fi

# Add on extra jar files to CLASSPATH

if [ ! -z "$CLASSPATH" ] ; then

CLASSPATH="$CLASSPATH":

fi

CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar

if [ -z "$CATALINA_OUT" ] ; then

CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out

fi

if [ -z "$CATALINA_TMPDIR" ] ; then

# Define the java.io.tmpdir to use for Catalina

CATALINA_TMPDIR="$CATALINA_BASE"/temp

fi

# Add tomcat-juli.jar to classpath

# tomcat-juli.jar can be over-ridden per instance

if [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then

CLASSPATH=$CLASSPATH:$CATALINA_BASE/bin/tomcat-juli.jar

else

CLASSPATH=$CLASSPATH:$CATALINA_HOME/bin/tomcat-juli.jar

fi

# Bugzilla 37848: When no TTY is available, don't output to console

have_tty=0

if [ "`tty`" != "not a tty" ]; then

have_tty=1

fi

# For Cygwin, switch paths to Windows format before running java

if $cygwin; then

JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`

JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`

CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`

CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"`

CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"`

CLASSPATH=`cygpath --path --windows "$CLASSPATH"`

JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`

fi

# Set juli LogManager config file if it is present and an override has not been issued

if [ -z "$LOGGING_CONFIG" ]; then

if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then

LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"

else

# Bugzilla 45585

LOGGING_CONFIG="-Dnop"

fi

fi

if [ -z "$LOGGING_MANAGER" ]; then

LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

fi

# Uncomment the following line to make the umask available when using the

# org.apache.catalina.security.SecurityListener

#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"

# ----- Execute The Requested Command -----------------------------------------

# Bugzilla 37848: only output this if we have a TTY

if [ $have_tty -eq 1 ]; then

echo "Using CATALINA_BASE:   $CATALINA_BASE"

echo "Using CATALINA_HOME:   $CATALINA_HOME"

echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"

if [ "$1" = "debug" ] ; then

echo "Using JAVA_HOME:       $JAVA_HOME"

else

echo "Using JRE_HOME:        $JRE_HOME"

fi

echo "Using CLASSPATH:       $CLASSPATH"

if [ ! -z "$CATALINA_PID" ]; then

echo "Using CATALINA_PID:    $CATALINA_PID"

fi

fi

if [ "$1" = "jpda" ] ; then

if [ -z "$JPDA_TRANSPORT" ]; then

JPDA_TRANSPORT="dt_socket"

fi

if [ -z "$JPDA_ADDRESS" ]; then

JPDA_ADDRESS="localhost:8000"

fi

if [ -z "$JPDA_SUSPEND" ]; then

JPDA_SUSPEND="n"

fi

if [ -z "$JPDA_OPTS" ]; then

JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"

fi

CATALINA_OPTS="$JPDA_OPTS $CATALINA_OPTS"

shift

fi

if [ "$1" = "debug" ] ; then

if $os400; then

echo "Debug command not available on OS400"

exit 1

else

shift

if [ "$1" = "-security" ] ; then

if [ $have_tty -eq 1 ]; then

echo "Using Security Manager"

fi

shift

exec "$_RUNJDB" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \

-sourcepath "$CATALINA_HOME"/../../java \

-Djava.security.manager \

-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \

-Dcatalina.base="$CATALINA_BASE" \

-Dcatalina.home="$CATALINA_HOME" \

-Djava.io.tmpdir="$CATALINA_TMPDIR" \

org.apache.catalina.startup.Bootstrap "$@" start

else

exec "$_RUNJDB" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \

-sourcepath "$CATALINA_HOME"/../../java \

-Dcatalina.base="$CATALINA_BASE" \

-Dcatalina.home="$CATALINA_HOME" \

-Djava.io.tmpdir="$CATALINA_TMPDIR" \

org.apache.catalina.startup.Bootstrap "$@" start

fi

fi

elif [ "$1" = "run" ]; then

shift

if [ "$1" = "-security" ] ; then

if [ $have_tty -eq 1 ]; then

echo "Using Security Manager"

fi

shift

eval exec "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \

-Djava.security.manager \

-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \

-Dcatalina.base="\"$CATALINA_BASE\"" \

-Dcatalina.home="\"$CATALINA_HOME\"" \

-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

org.apache.catalina.startup.Bootstrap "$@" start

else

eval exec "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \

-Dcatalina.base="\"$CATALINA_BASE\"" \

-Dcatalina.home="\"$CATALINA_HOME\"" \

-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

org.apache.catalina.startup.Bootstrap "$@" start

fi

elif [ "$1" = "start" ] ; then

if [ ! -z "$CATALINA_PID" ]; then

if [ -f "$CATALINA_PID" ]; then

if [ -s "$CATALINA_PID" ]; then

echo "Existing PID file found during start."

if [ -r "$CATALINA_PID" ]; then

PID=`cat "$CATALINA_PID"`

ps -p $PID >/dev/null 2>&1

if [ $? -eq 0 ] ; then

echo "Tomcat appears to still be running with PID $PID. Start aborted."

echo "If the following process is not a Tomcat process, remove the PID file and try again:"

ps -f -p $PID

exit 1

else

echo "Removing/clearing stale PID file."

rm -f "$CATALINA_PID" >/dev/null 2>&1

if [ $? != 0 ]; then

if [ -w "$CATALINA_PID" ]; then

cat /dev/null > "$CATALINA_PID"

else

echo "Unable to remove or clear stale PID file. Start aborted."

exit 1

fi

fi

fi

else

echo "Unable to read PID file. Start aborted."

exit 1

fi

else

rm -f "$CATALINA_PID" >/dev/null 2>&1

if [ $? != 0 ]; then

if [ ! -w "$CATALINA_PID" ]; then

echo "Unable to remove or write to empty PID file. Start aborted."

exit 1

fi

fi

fi

fi

fi

shift

#  touch "$CATALINA_OUT"

if [ "$1" = "-security" ] ; then

if [ $have_tty -eq 1 ]; then

echo "Using Security Manager"

fi

shift

eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \

-Djava.security.manager \

-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \

-Dcatalina.base="\"$CATALINA_BASE\"" \

-Dcatalina.home="\"$CATALINA_HOME\"" \

-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \

| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

else

eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \

-Dcatalina.base="\"$CATALINA_BASE\"" \

-Dcatalina.home="\"$CATALINA_HOME\"" \

-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \

| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

fi

if [ ! -z "$CATALINA_PID" ]; then

echo $! > "$CATALINA_PID"

fi

echo "Tomcat started."

elif [ "$1" = "stop" ] ; then

shift

SLEEP=5

if [ ! -z "$1" ]; then

echo $1 | grep "[^0-9]" >/dev/null 2>&1

if [ $? -gt 0 ]; then

SLEEP=$1

shift

fi

fi

FORCE=0

if [ "$1" = "-force" ]; then

shift

FORCE=1

fi

if [ ! -z "$CATALINA_PID" ]; then

if [ -f "$CATALINA_PID" ]; then

if [ -s "$CATALINA_PID" ]; then

kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1

if [ $? -gt 0 ]; then

echo "PID file found but no matching process was found. Stop aborted."

exit 1

fi

else

echo "PID file is empty and has been ignored."

fi

else

echo "\$CATALINA_PID was set but the specified file does not exist. Is Tomcat running? Stop aborted."

exit 1

fi

fi

eval "\"$_RUNJAVA\"" $LOGGING_MANAGER $JAVA_OPTS \

-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \

-Dcatalina.base="\"$CATALINA_BASE\"" \

-Dcatalina.home="\"$CATALINA_HOME\"" \

-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

org.apache.catalina.startup.Bootstrap "$@" stop

# stop failed. Shutdown port disabled? Try a normal kill.

if [ $? != 0 ]; then

if [ ! -z "$CATALINA_PID" ]; then

echo "The stop command failed. Attempting to signal the process to stop through OS signal."

kill -15 `cat "$CATALINA_PID"` >/dev/null 2>&1

fi

fi

if [ ! -z "$CATALINA_PID" ]; then

if [ -f "$CATALINA_PID" ]; then

while [ $SLEEP -ge 0 ]; do

kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1

if [ $? -gt 0 ]; then

rm -f "$CATALINA_PID" >/dev/null 2>&1

if [ $? != 0 ]; then

if [ -w "$CATALINA_PID" ]; then

cat /dev/null > "$CATALINA_PID"

# If Tomcat has stopped don't try and force a stop with an empty PID file

FORCE=0

else

echo "The PID file could not be removed or cleared."

fi

fi

echo "Tomcat stopped."

break

fi

if [ $SLEEP -gt 0 ]; then

sleep 1

fi

if [ $SLEEP -eq 0 ]; then

echo "Tomcat did not stop in time."

if [ $FORCE -eq 0 ]; then

echo "PID file was not removed."

fi

echo "To aid diagnostics a thread dump has been written to standard out."

kill -3 `cat "$CATALINA_PID"`

fi

SLEEP=`expr $SLEEP - 1 `

done

fi

fi

KILL_SLEEP_INTERVAL=5

if [ $FORCE -eq 1 ]; then

if [ -z "$CATALINA_PID" ]; then

echo "Kill failed: \$CATALINA_PID not set"

else

if [ -f "$CATALINA_PID" ]; then

PID=`cat "$CATALINA_PID"`

echo "Killing Tomcat with the PID: $PID"

kill -9 $PID

while [ $KILL_SLEEP_INTERVAL -ge 0 ]; do

kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1

if [ $? -gt 0 ]; then

rm -f "$CATALINA_PID" >/dev/null 2>&1

if [ $? != 0 ]; then

if [ -w "$CATALINA_PID" ]; then

cat /dev/null > "$CATALINA_PID"

else

echo "The PID file could not be removed."

fi

fi

echo "The Tomcat process has been killed."

break

fi

if [ $KILL_SLEEP_INTERVAL -gt 0 ]; then

sleep 1

fi

KILL_SLEEP_INTERVAL=`expr $KILL_SLEEP_INTERVAL - 1 `

done

if [ $KILL_SLEEP_INTERVAL -lt 0 ]; then

echo "Tomcat has not been killed completely yet. The process might be waiting on some system call or might be UNINTERRUPTIBLE."

fi

fi

fi

fi

elif [ "$1" = "configtest" ] ; then

eval "\"$_RUNJAVA\"" $LOGGING_MANAGER $JAVA_OPTS \

-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \

-Dcatalina.base="\"$CATALINA_BASE\"" \

-Dcatalina.home="\"$CATALINA_HOME\"" \

-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

org.apache.catalina.startup.Bootstrap configtest

result=$?

if [ $result -ne 0 ]; then

echo "Configuration error detected!"

fi

exit $result

elif [ "$1" = "version" ] ; then

"$_RUNJAVA"   \

-classpath "$CATALINA_HOME/lib/catalina.jar" \

org.apache.catalina.util.ServerInfo

else

echo "Usage: catalina.sh ( commands ... )"

echo "commands:"

if $os400; then

echo "  debug             Start Catalina in a debugger (not available on OS400)"

echo "  debug -security   Debug Catalina with a security manager (not available on OS400)"

else

echo "  debug             Start Catalina in a debugger"

echo "  debug -security   Debug Catalina with a security manager"

fi

echo "  jpda start        Start Catalina under JPDA debugger"

echo "  run               Start Catalina in the current window"

echo "  run -security     Start in the current window with security manager"

echo "  start             Start Catalina in a separate window"

echo "  start -security   Start in a separate window with security manager"

echo "  stop              Stop Catalina, waiting up to 5 seconds for the process to end"

echo "  stop n            Stop Catalina, waiting up to n seconds for the process to end"

echo "  stop -force       Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running"

echo "  stop n -force     Stop Catalina, wait up to n seconds and then use kill -KILL if still running"

echo "  configtest        Run a basic syntax check on server.xml - check exit code for result"

echo "  version           What version of tomcat are you running?"

echo "Note: Waiting for the process to end and use of the -force option require that \$CATALINA_PID is defined"

exit 1

fi

tomcat日志分割的更多相关文章

  1. Tomcat 日志分割

    一.前言 随着每天业务的增长,Tomcat 的catalina.out日志 变得越来越大,占用磁盘空间不说.要查看某个时候的日志的时候,庞大的日志让你顿时无从下手,所以日志的切割的变得刻不容缓.而且, ...

  2. 配置tomcat日志分割

    由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已及其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开 ...

  3. linux环境下安装tomcat并配置tomcat日志分割

    1.直接解压apache-tomcat-7.0.69.tar.gz 存放在/home目录下 根据需要自定义tomcat名称 mv apache-tomcat-7.0.69 Tomcat7 2.解压cr ...

  4. Linux中tomcat日志按日期自动分割

    Linux中tomcat日志分割需要用到cronolog 附上cronolog-1.6.2.tar.gz 1. 安装cronolog tar –zxvf cronolog-1.6.2.tar.gz . ...

  5. Linux系统下分割tomcat日志

    在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在w ...

  6. 配置分割Tomcat日志

    安装cronolog 官网下载:http://cronolog.org/usage.html ./configuremake;make install 或者 yum install cronolog ...

  7. Tomcat 的 catalina.out 日志分割

    一.背景 Tomcat 的 catalina.out 日志量不断增加,占用空间较大,且默认是不滚动的.因此,需要对其进行日志分割,并进行清理. 本文选用 Cronolog 对其进行分割. 二.安装 1 ...

  8. tomcat 日志 按天自动分割 设定时任务定时清除

    一.日志分割所需jar包 1.下载tomcat   apache-tomcat-7.0.79.tar.gz 地址:http://www.apache.org/dist/tomcat/tomcat-7/ ...

  9. 使用logrotate分割tomcat日志

    转:https://www.52os.net/articles/using-logrotate-manage-tomcat-logs.html July 28, 2014 日志是Linux系统中最重要 ...

随机推荐

  1. Spring Transaction 使用入门 (转)

    Spring Transaction 使用入门 一.开篇陈述 1.1 写文缘由 最近在系统学习spring框架IoC.AOP.Transaction相关的知识点,准备写三篇随笔记录学习过程中的感悟.这 ...

  2. 2018的Java

    少用复制黏贴 程序员很多时候都习惯复制黏贴,这里复制一点,那里复制一点,拼拼凑凑的搞出了一段代码.这是一种常态,毕竟没有必要重复造轮子,在开发的时候,讲究的是效率,讲究速度,有时候也是不得不这样做.但 ...

  3. Kubernetes集群之清除集群

    清除K8s集群的Etcd集群 操作服务器为:192.168.1.175/192.168.1.176/192.168.1.177,即etcd集群的三台服务器.以下以192.168.1.175为例子. 暂 ...

  4. OpenCV4.1.2 QRCode解码体验测评(附源码+支持中文)

    目前官方Release的OpenCV最新版本为4.1.2,偶然看到更新信息里面QRCode解码性能有提升,所以迫不及待想尝试一下,因为上次测试了4.0版本的效果不太好. 下载和配置OpenCV的步骤此 ...

  5. Oracle--存储过程中之循环语句

    一般循环语句有两种: 1)使用for循环实现 declare  cursor cur is    select * from tablename;   aw_row  tablename%rowtyp ...

  6. CentOS7-Docker 安装 Gitlab详细篇

    官方教程 https://docs.gitlab.com/omnibus/docker/ 建议虚拟机内存2G以上 搜索镜像 docker search gitlab 下载镜像文件 docker pul ...

  7. [转帖]关于 ./configure

    ./configure --prefix=/usr/local/scws --prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/ ...

  8. 第十节:Asp.Net Core 配置详解和选项模式

    一. 各种文件的读取 1.说明 在.Net Core中,各种配置文件的读取都需要依赖[Microsoft.Extensions.Configuration]程序集,当然在Asp.Net Core中已经 ...

  9. PHP 将字符串中的数字转化为数组

    $str ='现在是2019年11月18日下午17点25分';$result='';$arr=[];for($i=0;$i<strlen($str);$i++){ if(is_numeric($ ...

  10. PowerBuilder学习笔记之1开发环境

    Powerbuilder Classic 12.5开发环境(PB经典 12.5) 教材链接:https://wenku.baidu.com/view/5e087d6ab9f67c1cfad6195f3 ...