您当前的位置:首页 > 网站建设 > 网站维护
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

tomcat的catalina.out日志按自定义时间格式进行分割的操作方法

51自学网 2022-07-22 18:49:19
  网站维护

默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个catalina.out,这样日积月累就会造成.out日志越来越大,给管理造成了不便,为了实现像其它日志文件一样按日期归档,这里我采用cronolog来完成日志分割。

一、安装Cronolog

1.yum方式安装

# yum install cronolog

2.下载压缩包安装

1. 下载(最新版本)wget http://cronolog.org/download/cronolog-1.6.2.tar.gz2. 解压缩tar zxvf cronolog-1.6.2.tar.gz 3. 进入安装目录cd cronolog-1.6.24. 运行安装./configuremakemake install5. 查看是否安装成功which cronolog结果:/usr/local/sbin/cronolog  (这个是cronolog的安装路径,后面会用到)

二、修改Tomcat下bin/catalina.sh文件

修改要分隔的Tomcat的日志下bin/catalina.sh文件,要修改的在290行。修改前先拷贝一份。1. cp catalina.sh catalina.sh.bak2. vim catalina.sh -c 417  或者  vim catalina.sh之后:417    (进入到catalina.sh的第417行。)

下面为需要修改的内容:标红的是要修改的区域

修改为:  shift  # touch "$CATALINA_OUT"  if [ "$1" = "-security" ] ; then    if [ $have_tty -eq 1 ]; then      echo "Using Security Manager"    fi    shift    eval $_NOHUP "/"$_RUNJAVA/"" "/"$LOGGING_CONFIG/"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS /      -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_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &   else  fi

修改后,重启Tomcat。可以看到更改已经生效。(看到catalina.out出现了catalina.2017-12-19.out等按照日期分类的输出文件说明配置成功)。

三、shell利用crontab自动清除日志

1.删除文件shell命令详解

find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} /; 例子:    find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} /; 说明:将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:    find:linux的查找命令,用户查找指定条件的文件;    /opt/soft/log/:想要进行清理的任意目录;    -mtime:标准语句写法;    +30:查找30天前的文件,这里用数字代表天数;    "*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;    -exec:固定写法;    rm -rf:强制删除文件,包括目录;    {} /; :固定写法,一对大括号+空格+/+; 

2.创建shell脚本即crontab计划任务

# vim del-15-days-ago-logs.shfind /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} /;# chmod +x del-15-days-ago-logs.sh# crontab -e10 0 * * * /opt/soft/log/del-15-days-ago-logs.sh >/dev/null 2>&1

下载地址:
为Centos安装指定版本的Docker
K8s准入控制Admission
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1