精华内容
下载资源
问答
  • 最近在部署tomcat时,发现日志文件太大了,每次都生成到catalina.out中,查看错误不好查看,就做了一个tomcat按天生成日志,并定时清理功能。 二、按天生成日志修改 1、在网上看到许多都是用Cornolog来按天生成,...

    Tomcat日志按天生成并定时清理

    • 安装cronolog

    1、首先查看是否安装cronolog:which cronolog

    2、下载安装包,我这下载的是cronolog-1.6.2.tar.gz

     

    3、放到自己有权限的目录下面比如 /home/changhu/soft

    4、解压tar -zxvf cronolog-1.6.2.tar.gz

    5、进入cronolog安装文件所在目录:cd cronolog-1.6.2

    6、运行安装(必须先不改文件进行安装,不然会报找不到文件)

    ./configure

    make

    make install

    注:此时执行make install报错,提示Error 1

     

    查看错误信息发现需要在 /usr/local/下新建sbin文件夹,但我这个账号没这个权限,修改文件夹下的./configure

    7、进入cronolog-1.6.2文件夹,有个configure开头的,打开修改如下内容为普通用户地址,修改保存后再执行一遍安装

    ./configure
    make
    make install

    嗯,现在应该是安装成功了,在目录下会多出一个sbin文件夹,里面就是cronolog的可执行文件,可以愉快的分割日志了。

    https://img-blog.csdnimg.cn/20190826215618510.png

    二、按天生成日志修改

    1、安装成功后,我们就可以按照每天来生成日志了,需要修改tomcat/bin下的catalina.sh,找到下面这行,类似这样的行有2处:修改后第一个变量是cronnolog的地址,第二个变量是日志存放地址

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

          >> "$CATALINA_OUT" 2>&1 &

    修改如下:

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

    2>&1 | /usr/local/sbin/cronolog /usr/local/tomcat/logs/catalina.%Y-%m-%d.out >>/dev/null &

    截图如下:

     

    2、将 touch "$CATALINA_OUT"改为打印内容echo "11111"

     

    3、保存后,重新启动tomcat就可以了

    三、定时清理日志文件

    1、在bin目录下创建一个定时清理脚本

    cd ./bin

    touch clean.sh

    vi ./clean.sh

     2、脚本内容

    #!/bin/bash
    echo "del file start....."
    find /applog/ -mtime +15 -name '*.out'  -exec rm -rf {} \;
    echo "del file end"

     

    3、给文件授权,并添加可执行文件

    chmod +X ./clean.sh

    chmod 777 ./clean.sh

    4、配置Conrolog定时清理日志,使用crontab -l查看当前任务,在确认没有其他任务执行的情况下,使用crontab -e新建一个定时执行任务,输入如下内容:

    #每天早上130执行脚本

    30 01 * * * /jboss/tomcat-9.0.39/bin/clean.sh

    输入完成后,输入wq进行保存

    至此清理配置即完成了

    5crontab常用命令如下(可参考该链接 Linux crontab命令.

    #执行文字编辑器来设定时程表,内定的文字编辑器是 VI

    crontab -e

    #删除目前的时程表

    crontab    -r

    #列出目前的时程表

    crontab    -l

    四、去掉localhost_access_log日志

    注释掉tomcat中server.xml中的内容

            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

                   prefix="localhost_access_log" suffix=".txt"

                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />

     

    展开全文
  • Tomcat 自动清理日志和缓存

    千次阅读 2019-05-14 17:41:33
    改方案针对apache-tomcat-9.0.17版本 1、catalina、host-manager、localhost、manager日志修改 (1)在tomcat/conf/logging.properties文件下修改... (2)将level级别设置成WARNING就可以大量减少日志的输出...

      改方案针对apache-tomcat-9.0.17版本

    1、catalina、host-manager、localhost、manager日志修改

      (1)在tomcat/conf/logging.properties文件下修改“maxDays”,系统默认是90天,对于高并发大访问量的服务,将保存的天数设置为最短。

      (2)将level级别设置成WARNING就可以大量减少日志的输出,一般日志的级别有: 
    SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value),这里建议设置成“ WARNING”。

    1catalina.org.apache.juli.AsyncFileHandler.level =  WARNING
    1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
    1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
    1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
    1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8
    
    2localhost.org.apache.juli.AsyncFileHandler.level =  WARNING
    2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
    2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
    2localhost.org.apache.juli.AsyncFileHandler.maxDays = 90
    2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8
    
    3manager.org.apache.juli.AsyncFileHandler.level =  WARNING
    3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
    3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
    3manager.org.apache.juli.AsyncFileHandler.maxDays = 90
    3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
    
    4host-manager.org.apache.juli.AsyncFileHandler.level =  WARNING
    4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
    4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
    4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 90
    4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8

    2、localhost_access_log日志禁用

      在tomcat/conf/server.xml文件中注释掉“localhost_access_log”日志生成

            <!--
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
            -->

    3、catalina.out日志禁用

      catalina.out与按天的catalina.xxxx.log重复,所以这里直接禁用。

      在tomcat/bin/catalina.sh中找到下面位置

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

       修改到dev/null,当路径不存在时,catalina.out日志也就被禁用

    if [ -z "$CATALINA_OUT" ] ; then
      CATALINA_OUT="$CATALINA_BASE"/dev/null

    4、清理tomcat缓存 

    1.进入tomcat/bin目录下,执行sh shutdown.sh命令关闭tomcat。
    2.然后执行命令 ps -aux | grep tomcat 命令​,查看tomcat命令是否真的关闭
    3.如果没有关闭执行 kill -9 #pid 来彻底关闭tomcat(#pid是tomcat的进程ID)​
    root    17505    0.0        0.0    63344  768    pts/1    S+  10:22  0:00 grep tomcat​
    USER    PID    %CPU  %MEM  VSZ  RSS    TTY  STAT  START TIME COMMAND​
    4.最后进入tomcat/work目录下​,执行 rm -rf Catalina 来删除缓存文件
    5.执行ls ​确认是否删除,如果work目录下没有Catalina文件夹说明删除成功。
    6.在进入tomcat/bin目录下,执行./startup.sh命令来重启tomcat。

      即停止tomcat、进入tomcat/work目录下​——>执行 rm -rf Catalina 来删除缓存文件——>启动tomcat = OK

    展开全文
  • linux下tomcat定时清理日志

    千次阅读 2018-02-02 15:18:11
    设置周期性被执行的指令 1.首先创建脚本文件 vim del-7-days-ago-tomcat-log.sh 编辑你想执行的命令 如: #!/bin/sh find /home/apache-tomcat-8.0.36/logs/ -mtime +7 -type f -name "catalina.*.out" -exec ...

    linux中有crontab 设置周期性被执行的指令

    1.首先创建脚本文件

    vim del-7-days-ago-tomcat-log.sh

    编辑你想执行的命令

    如:

    #!/bin/sh
    find /home/apache-tomcat-8.0.36/logs/ -mtime +7 -type f -name "catalina.*.out" -exec /bin/rm -rf {} \;

    2.然后加入到定时任务里面  使用crontab -e 编辑

    × × × × × +命令(具体任务)

    # m h  dom mon dow   command

    参数 范围

    分钟 0-59

    小时 0-23

    日期 1-31

    月份 1-12

    星期 0-6(0代表星期日)

    比如:  10 0 * * * /root/del-7-days-ago-tomcat-log.sh

    每天0:10执行这个文件

    对于类似于几分钟执行一次的脚本,可在末尾加上 “>/dev/null 2>&1”,这里表示不写到系统日志:

    00 00 * * * /home/linrui/XXXXXXXX.sh >/dev/null 2>&1


    在执行该文件的时候会出现

    -bash: /xxx/xxxxx.sh: Permission denied

    chmod 777 xxx.sh   

    777表示可读可写可执行


    展开全文
  • 三、使用crontab定时任务设置定时清除日志  首先新建一个xxx.sh文件在其中录入,并保存。 #!/bin/sh find /usr/local/apache-tomcat-8.5.15/logs/ -mtime +1 -name "*.out" -exec rm -rf {} \; find /usr/local/...

    一、安装

        下载cronolog-1.6.2.tar.gz 并解压

            tar zxvf cronolog-1.6.2.tar.gz

        进入安装目录

            cd cronolog-1.6.2

        运行安装 (这一步可能会遇到权限问题,有些用sudo的方式,我自己装的直接切换中root去安装啦)

            ./configure && make && make install

        查看cronolog安装后所在目录(验证安装是否成功)     

            # which cronolog

        一般情况下显示为:/usr/local/sbin/cronolog,则表示安装成功。

    二、修改配置

    2.1 修改Tomcat

        修改/bin目录下的catalina.sh文件。

        使用vim编辑catalina.sh文件,搜索关键字:       

            if [ -z "$CATALINA_OUT" ] ; then
    
              CATALINA_OUT=日志路径/catalina.out
    
            fi 

        修改为       

            if [ -z "$CATALINA_OUT" ] ; then
    
                CATALINA_OUT=日志路径/catalina.%Y-%m-%d.out
    
            fi

        查找   touch "$CATALINA_OUT",后将其注释掉   

            #touch "$CATALINA_OUT"
        查找        
               org.apache.catalina.startup.Bootstrap "$@" start \
               >> "$CATALINA_OUT"   2>&1 &

        修改为                  

               org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
               | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

        这个有两处地方,都要改,改完后重启tomcat即可完成配置(注意这个方式适用于tomcat8以上,如果Tomcat7请看下面)

    2.2 Tomcat7以前的版本:

      (1)注释掉(#)     

                touch “$CATALINA_BASE”/logs/catalina.out

      (2)tomcat bin目录下的catalina.sh文件中的两处     

                org.apache.catalina.startup.Bootstrap “$@” start  \ 
                >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

          修改为   

                org.apache.catalina.startup.Bootstrap "$@" start  2>&1 \
                | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

          完成之后重起Tomcat就可以了。


    三、使用crontab定时任务设置定时清除日志

        首先新建一个xxx.sh文件在其中录入,并保存。

    #!/bin/sh
    find /usr/local/apache-tomcat-8.5.15/logs/ -mtime +1 -name "*.out" -exec rm -rf {} \;
    find /usr/local/apache-tomcat-8.5.15/logs/ -mtime +1 -name "*.log" -exec rm -rf {} \; 
    find /usr/local/apache-tomcat-8.5.15/logs/ -mtime +1 -name "*.txt" -exec rm -rf {} \;

        随后使用crontab -e命令打开定时任务配置文件,在里面录入 10 0 * * *  sh 目录/xxx.sh > /dev/null 2>&1   即可完成配置,即删除1天之前的后缀名为out, log和txt的文件。

        查看日志cron

                ubuntu默认没有开启cron日志记录 
                1. 修改rsyslog 
                    sudo vim /etc/rsyslog.d/50-default.conf 文件中
                    cron.* /var/log/cron.log #将cron前面的注释符去掉 
                2.重启rsyslog 
                    sudo service rsyslog restart 
                3.查看crontab日志 
                    tail -f /var/log/cron.log

    稍微解释下crontab中每行的含义。crontab中的每一行代表一个定期执行的任务,分为6个部分。前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下: 

    分钟          0 - 59

    小时          0 - 23

    天              1 - 31

    月              1 - 12

    星期          0 - 6       0表示星期天

    除了这些固定值外,还可以配合星号(*),逗号(,),和斜线(/)来表示一些其他的含义:

    星号          表示任意值,比如在小时部分填写 * 代表任意小时(每小时)

    逗号          可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟

    斜线          一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 */2 代表每隔两分钟。所以 */1 和 * 没有区别

                      */2 可以看成是能被2整除的任意值。

    以下是一些例子(省略了命令部分):

    * * * * *                  # 每隔一分钟执行一次任务  
    0 * * * *                  # 每小时的0点执行一次任务,比如6:00,10:00  
    6,10 * 2 * *            # 每个月2号,每小时的6分和10分执行一次任务  
    */3,*/5 * * * *          # 每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06  

    展开全文
  • 目录清理日志进程保活定时任务 清理日志 我的tomcat目录/home/tomcat,一开始直接在后面加一个启动tomcat的密令,再用...为了能确保tomcat再每次清理日志后能正常启动,再添加一个tomcat进程保活的脚本。 #!/bin/sh TO
  • 脚本摘要于百度链接:...定期删除TOMCAT日志文件,参考代码如下:#!/bin/bash#清理tomcat日志的脚本#日志大小限制设置( 1M 字节),超出即清理LOG_FILE_SIZE=1024000#定义日志文件位置logs=(/srv/tomcat6/logs/cata...
  • 最近需要配置tomcat访问日志,通过造访他人的博客,再根据apache官方的一些文章,才逐渐清晰了许多 配置方法很简单:在server.xml里的标签下加上 directory="logs" prefix="localhost_access_log." suffix=".txt...
  • 最近一次查看客户的服务器,发现tomcat日志达到了100多兆,由于服务器系统是装在虚拟机上,且服务器虚拟机上装了几个系统,所以空间有限...#日志大小限制设置( 1M 字节),超出即清理 LOG_FILE_SIZE=1024 #...
  • 概述 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘...例如,你可以设置logrotate,让/var/log/foo...
  • Tomcat清理catalina.out日志

    千次阅读 2018-08-06 14:14:45
    1.写cleanlog.sh #!/bin/bash ...#tomcat1日志文件路径 echo "" &... /app/apache-tomcat-8.0.30/logs/catalina.out find /app/apache-tomcat-8.0.30/logs ...3.设置cleanlog.sh脚本可执行  ...
  • linux 自动清理 Tomcat 日志文件

    千次阅读 2017-01-10 14:57:34
    指令:vi auotcler.sh //新建一个文件cat > /plat_pro/apache-tomcat-8.0.33/logs/catalina.out //在文件写入该代码,保存退出chmod 777 autocler.sh //设置可执行权限 crontab -e //添加下行代码00 00 * * * /plat_...
  • window 启动tomcat闪退 查看日志方法 找到 bin下面的startup.bat 用文本方式打开 找到末尾 start改为run 然后打开cmd窗口 cd到tomcat bin路径 执行startup.bat 下图本来该报错会闪退,...
  • 概述日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗...例如,你可以设置logrotate,让/var/log/foo日志...
  • 概述 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题...例如,你可以设置logrota...
  • /opt/tomcat/logs/catalina.out 脚本命名为clear_catalina.sh,上传到服务器任意目录,这里我们上传到 /home/目录 cd /home/ chmod -u+x clear_catalina.sh 添加定时任务: 在命令行输入: crontab -e 然后添加相应...
  • 清除一周日志

    2020-05-30 13:54:12
    #!/bin/bash #file name :auto_clear_log.sh #function :清除一周前...#设置日志保留日期,七天内日志保留 last_date=$(date -d '7 days ago' "+%s") echo "hello!${last_date}" #获取文件的change时间 get_file.
  • 防火墙设置错误造成Tomcat启动缓慢

    千次阅读 2005-01-21 20:02:00
    前段时间公司运行中Linux上的Tomcat在启动的时候变得很慢,分析了日志发现在启动的时候,由于一些无效的配置,比如数据库的ip之类的错误。引起了启动的时候线程block。清理了一些不必要的Content后,发现还是一样的...
  • Tomcat远程debug配置

    2017-04-19 17:22:00
    当我们需要定位生产环境问题,而日志又不清晰的情况下,我们可以借助Tomcat提供的远程调试,设置如下: // Linxu系统: apach/bin/startup.sh开始处中增加如下内容: declare -x CATALINA_OPTS="-server -Xdebug -...
  • 当我们需要定位生产环境问题,而日志又不清晰的情况下,我们可以借助Tomcat提供的远程调试,设置如下: // Linxu系统: apach/bin/startup.sh开始处中增加如下内容: declare -x CATALINA_OPTS="-server -Xdebug...
  • 来自:YuLimin的日志   Tomcat 7之无需JDK只需JRE与无需web.xm及J2SE 6.0之真实与谎言?  当然首先是确定一下,是真实的,吃个定心丸先,不是谎言:)  下载了Tomcat 7 RC4,解压到 D:\OpenSource\Tomcat\...
  • Linux常用功能脚本

    2018-01-27 19:20:00
    设置定时任务 crontab -e 1 0 * * * /bin/find /mnt/tomcat/logs/ -mtime +3 -type f... 每天凌晨一分定时清除Tomcat日志脚本 linux下Tomcat自动备份 1、页面文件在/home/edn/tomcat6/webapps目录下,备份...
  • bat删除文件夹、删除文件夹下文件

    千次阅读 2017-08-16 15:14:46
    @echo offecho 清理tomcat缓存及日志...   set CUR_DIR=%cd%echo 设置当前路径=%CUR_DIR% set DEST_DIR1=%cd%\tomcat_7.0.16xJDK7_win_x64echo 设目标文件夹=%DEST_DIR1% set DEST_DIR2=%cd%\...
  • 1,原因: 1),服务器硬盘容量太小,系统盘50G ... shell脚本定时执行,脚本里查看硬盘当前使用比例,超过设置值,清理Tomcat日志文件 3,步骤 1),进入/root目录,编写定时脚本checkCapacity.sh cd...
  • 功能:批量设置开始时间 功能:批量清理答题卡 bugfix:考试不是发布状态时用户也能答题,归档后答题直接报错 bugfix:考场从限制时间切换为不限制时,开始时间还是保留了 bugfix:内置编辑器不支持大于号和小于号的...
  • 更新日志: 1. 修正部分用户使用中用到插件的分割符号,致使插件不能正常使用,本版中间使用xml格式,不会和用户使用的符号有冲突。 2. 重新构件了ocx,jar两个地方的源码,使结构更加清晰。 注意事项: 1. 这个...
  • 测试培训教材

    2014-04-01 12:10:48
    JBOSS_HOME\server\default\deploy\jbossweb-tomcat55.sar\server.xml 6、修改IP地址后不能登录QC 解决办法: 在C:\Program Files\Mercury\Quality Center\jboss\server\default\deploy目录下找到10sabin.war ...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

tomcat设置清日志