概述

日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。

logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预。

因为服务器比较多,所以简单写了个shell脚本来直接配置logrotate。


logrotate配置文件说明


Logrotate的记录日志

logrotate自身的日志通常存放于/var/lib/logrotate/status目录。如果处于排障目的,我们想要logrotate记录到任何指定的文件,我们可以指定像下面这样从命令行指定。

[root@clsn6 ~]# logrotate -vf -s /var/log/logrotate-status /etc/logrotate.d/log-file

tomcat设置自动切割

对于catalina,localhost,manager,host-manager这四类日志,使用tomcat 8.5.24版本后新添加的maxDays属性进行管理。打开日志配置,将日志配置为3天后自动删除

#vim $tomcat/conf/logging.properties

1catalina.org.apache.juli.AsyncFileHandler.maxDays = 32localhost.org.apache.juli.AsyncFileHandler.maxDays = 33manager.org.apache.juli.AsyncFileHandler.maxDays = 34host-manager.org.apache.juli.AsyncFileHandler.maxDays = 3

对于catalina.out标准输入输出日志,使用linux自带的logrotate进行管理。将日志配置为3天后自动删除

#vim /etc/logrotate.d/tomcat

$tomcat/logs/catalina.out { daily #logrotate周期  rotate 3 #保存多久 missingok notifempty #如果是空文件的话,不转储 compress}

shell脚本配置tomcat自动切割

1、脚本内容

#!/bin/bash#copyright by hwb --2019/7/12tomcat=/home/tomcat8052#配置catalina,localhost,manager,host-manager日志保留3天cat << EOF >> $tomcat/conf/logging.properties1catalina.org.apache.juli.AsyncFileHandler.maxDays = 32localhost.org.apache.juli.AsyncFileHandler.maxDays = 33manager.org.apache.juli.AsyncFileHandler.maxDays = 34host-manager.org.apache.juli.AsyncFileHandler.maxDays = 3EOF#logrotate配置3天cat << EOF >> /etc/logrotate.d/tomcat$tomcat/logs/catalina.out { copytruncate daily rotate 3 missingok}EOFecho "=======配置catalina,localhost,manager,host-manager日志保留3天========="cat $tomcat/conf/logging.properties |grep maxDaysecho "=================logrotate配置catalina.out保留3天====================="cat /etc/logrotate.d/tomcat

2、执行脚本

执行脚本会去配置logrotate

3、测试lorotate功能

# logrotate -d /etc/logrotate.conf

测试成功。


后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

tomcat catalina localhost 没有项目_实用shell脚本--一键配置tomcat定期日志清理功能相关推荐

  1. tomcat catalina localhost 没有项目_Tomcat简介--01

    一.tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开 ...

  2. Eclipse的JavaWeb项目导入到IntelliJ IDEA 并且配置Tomcat

    Eclipse的JavaWeb项目导入到IntelliJ IDEA 并且配置Tomcat 第一步:准备工具我用的是  IntelliJ IDEA 2016.3(64)  这个版本的,在eclipse中 ...

  3. shell脚本批量导出MYSQL数据库日志/按照最近N天的形式导出二进制日志[连载之构建百万访问量电子商务网站]...

    shell脚本批量导出MYSQL数据库日志/自动本地导出MYSQL二进制日志,按天备份[连载之构建百万访问量电子商务网站] 出处:http://jimmyli.blog.51cto.com/我站在巨人 ...

  4. shell脚本一键部署lnmp架构

    shell脚本一键部署lnmp架构 1. 创建存放脚本的目录 2. 创建脚本文件 3. 编写脚本 4. 通过IP地址直接访问PHP界面 1. 创建存放脚本的目录 [root@localhost ~]# ...

  5. shell脚本 一键部署 Lnmp 及社区论坛 服务架构

    shell脚本 一键部署 Lnmp 一键部署 Lnmp 一键部署 注:亲,记得把所需要的软件包,先放到/opt目录中:以及该机子的内存大小.核数先设置好! #!/bin/bash #先配置好yum e ...

  6. shell脚本一键部署LNMP

    前言 使用shell脚本一键部署LNMP需要的安装包 nginx-1.15.9.tar.gz mysql-boost-5.7.20.tar.gz php-7.1.10.tar.bz2 Discuz_X ...

  7. shell脚本一键安装nginx

        使用shell脚本一键安装Nginx 操作环境Centos7,联网进行安装. 代码如下: #!/bin/bash #this is nginx.sh #date 2018.10.6 [ $(i ...

  8. shell脚本一键安装二进制Apache

    转载来源 :shell脚本一键安装二进制Apache : http://www.178linux.com/23401 安装背景:用的一台最小化安装的centos6. 编译安装安装的必备安装gcc,gc ...

  9. 超实用的shell脚本--一键获取进程所有信息

    转载来源 :超实用的shell脚本–一键获取进程所有信息 :http://www.safebase.cn/article-257427-1.html 摘要: 概述有时我们想只是通过一个进程PID就可以 ...

最新文章

  1. 不同级域名中的 Cookie 共享
  2. Learn OpenGL (三):着色器
  3. AI目前的根本问题——缺乏 自由意志,无法分辨真正的善恶
  4. python递归深度报错--RuntimeError: maximum recursion depth exceeded
  5. mysql数据库主从配置
  6. 【MM】 基于收货的发票校验
  7. 缓存工具类MyCacheUtil
  8. 字长16位的计算机表示最大整数_废话不多说跪送计算机选择8前十题
  9. Apache JMeter 压测webservice接口
  10. Python 动态获取对象的属性和方法(内含inspect)
  11. SDWebImage 的简单使用方法
  12. java游戏抽卡_怎么处理游戏中抽卡概率算法,每个卡有数量限制,抽完概率也会变。...
  13. linux中查找文件并合并文件
  14. [JNI] 开发实例(2) 编译libwebsocket,封装jni函数,搭建IM通信基础服务
  15. mysql安装+navicat激活
  16. Abaqus CAE2022启动时报错“The desired vendor daemon is down”
  17. BF发卡网开源源码+详细教程
  18. python scatter参数详解_Python中scatter函数参数及用法详解
  19. R语言与多元线性回归+逐步回归
  20. SDUT-2245 小学数学

热门文章

  1. html中的标签在xml中被识别为什么,在strings.xml中定义html标签
  2. C语言题目集-分西瓜
  3. 光子 量子 DNA计算机的发展情况,科研萌新关于非冯诺依曼结构计算机的一些知识mewo~~...
  4. ios c语言编译环境搭建,iOS开发之runtime(一):runtime调试环境搭建
  5. Java黑皮书课后题第9章:*9.3(使用Date类)编写程序创建一个Date对象,设置它的流逝时间分别为...,然后使用toString()方法分别显示上述日期
  6. cocos2dx java 调用lua_Cocos2d-x Lua实现从Android回调到Lua的方法
  7. 尚学python课程---11、linux环境下安装python注意
  8. iOS 网络输入流提供请求体(适用于大容量内容)
  9. SQL查询语句执行速度快,存储过程执行慢
  10. arm学习笔记五(c/c++与arm汇编混合编程)