`
xxxxxxxx_rui
  • 浏览: 43492 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Linux下Tomcat日志定期清理 及 logrotate 配置

阅读更多
服务器上的tomcat的catalina.out文件越来越大,查看起来很不方便,以前每次都是想起来的时候手工清理一下(cat /dev/null > catalina.out),后来发现了logratate这个工具,Ubuntu下的mysql,nginx好像也是用的这个工具还定期整理log的。配置文件为/etc/logrotate.conf,和很多其它ubuntu下的工具一下,也可以把配置文件写在/etc/logrotate.d/下面。如对我们的tomcat的log文件进行整理,sudo vi /etc/logrotate.d/tomcat,



/opt/tomcat/logs/catalina.out {
rotate 14
daily
copytruncate
compress
notifempty
missingok
}
其中:
rotate 7 表示保留7天的备份文件
daily 表示每天整理一次
copytruncate 表示先复制log文件的内容,然后再清空
compress 表示压缩备分文件
missingok 表示如果找不到log文件也没OK
notifempty 表示如果log文件是空的,就不进行rotate
可以通过/usr/sbin/logrotate -f /etc/logrotate.conf来执行。Ubuntu有/etc/cron.daily/logrotate文件,内容为:

#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
表示每天会定时执行一次这个命令
通过ntp同步服务器的时间
根据 Ubuntu的文档 有两种方式可以用来使服务器的时间和ntp server同步。一种是通过ntpdate命令,如
ntpdate ntp.Ubuntu.com
然后在/etc/cron.daily/下新建一个文件来每天执行一次这个命令
另一种是通过ntpd来更新。sudo apt-get install ntp。配置文件/etc/ntp.conf,可以通过修改配置文件为改变ntp server, 我们用的是210.72.145.44这个server
对于Linux 的系统安全来说,日志文件是极其重要的工具。系统管理员可以使用logrotate 程序用来管理系统中的最新的事件,对于Linux 的系统安全来说,日志文件是极其重要的工具。系统管理员可以使用logrotate 程序用来管理系统中的最新的事件。logrotate 还可以用来备份日志文件,本篇将通过以下几部分来介绍
  日志文件的管理:
  1、logrotate 配置
  2、缺省配置 logrotate
  3、使用include 选项读取其他配置文件
  4、使用include 选项覆盖缺省配置
  5、为指定的文件配置转储参数
一、logrotate 配置
  logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。
  logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。
  logrotate 的配置文件是 /etc/logrotate.conf。主要参数如下表:



  参数 功能
  compress 通过gzip 压缩转储以后的日志
  nocompress 不需要压缩时,用这个参数
  copytruncate 用于还在打开中的日志文件,把当前日志备份并截断
  nocopytruncate 备份日志文件但是不截断
  create mode owner group 转储文件,使用指定的文件模式创建新的日志文件
  nocreate 不建立新的日志文件
  delaycompress 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩
  nodelaycompress 覆盖 delaycompress 选项,转储同时压缩。
  errors address 专储时的错误信息发送到指定的Email 地址
  ifempty 即使是空文件也转储,这个是 logrotate 的缺省选项。
  notifempty 如果是空文件的话,不转储
  mail address 把转储的日志文件发送到指定的E-mail 地址
  nomail 转储时不发送日志文件
  olddir directory 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
  noolddir 转储后的日志文件和当前日志文件放在同一个目录下
  prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
  postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行
  daily 指定转储周期为每天
  weekly 指定转储周期为每周
  monthly 指定转储周期为每月
  rotate count 指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份
  tabootext [+] list 让logrotate 不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和 ~
  size size 当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB (sizem).
分享到:
评论
1 楼 linyfei 2011-11-22  
版主你好,我想问一下:
“可以通过/usr/sbin/logrotate -f /etc/logrotate.conf来执行。”
你这句话具体是什么意思啊?
  不是很理解。

另外那个tomcat脚本中可以写多个么?我们服务器上有多个tomcat,比如
/opt/tomcat1/logs/catalina.out {  
rotate 14 
daily  
copytruncate  
compress  
notifempty  
missingok  
}  
/opt/tomcat2/logs/catalina.out {  
rotate 14 
daily  
copytruncate  
compress  
notifempty  
missingok  
}  

另外我们写好这个脚本后,系统会自动去运行ta么?还是后面我问你的第一个问题中能够解决?

请尽快回复,谢谢了。

相关推荐

    Centos7配置logrotate执行Tomcat日志轮转

    1. 创建配置文件:在`/etc/logrotate.d/`目录下创建一个针对Tomcat日志的配置文件,例如`/etc/logrotate.d/tomcat`。使用`vim`编辑器写入日志文件的路径,例如`/home/odysee/General/tomcat8.5/logs/catalina.out`。...

    Tomcat输出catalina.out的大小控制

    在Linux环境中,`logrotate`是一个常用的工具,用于定期轮换日志文件,避免单个文件过大。你可以创建一个专门针对`catalina.out`的`logrotate`配置文件,比如`/etc/logrotate.d/tomcat`,并设定相应的旋转策略,...

    Tomcat 日志切割(logrotate)详细介绍

    Tomcat日志切割就是解决这一问题的一个方法,而logrotate是一个在Linux系统中广泛使用的日志管理工具,它可以自动化地对日志文件进行定期切割、归档、压缩和清理。 首先,logrotate的工作原理是基于配置文件进行...

    tomcat日志切割

    标题中的“Tomcat日志切割”是指在Apache Tomcat服务器中对日志文件进行定期管理和分割的过程。在大型系统中,日志文件可能会迅速增长,占用大量磁盘空间,因此需要有策略地处理这些日志,以便于分析、存储和清理。...

    cronolog1.6.2的tomcat日志分割

    2. **配置catalina.sh**:Tomcat的启动脚本catalina.sh是控制Tomcat日志输出的关键。找到你的Tomcat安装目录下的bin/catalina.sh文件,打开并找到`CATALINA_OUT`变量。默认情况下,它可能指向`$CATALINA_BASE/logs/...

    CentOS7 环境下Tomcat和Nginx 安全配置操作手册

    - 安装和配置日志监控工具,如Logrotate,定期清理和备份日志,便于故障排查。 完成上述步骤后,你将拥有一个在CentOS 7上运行的、企业级的、安全的、集成了Tomcat和Nginx的Java应用环境,可用于生产环境的Java应用...

    cronolog切割tomcat catalina.out 文件 tomcat日志按小时切割

    5. **监控和维护**:定期检查日志切割是否正常进行,同时根据实际需求设置日志保留策略,例如使用logrotate工具来定期清理旧的日志文件,以节省磁盘空间。 在标签中提到的“源码”可能是指查看cronolog的源代码,...

    tomcat日志分割

    4. **定制Tomcat日志配置**:在`conf/server.xml`文件中,你可以自定义`<Valve>`元素来使用`AccessLogValve`或`GeneralErrorLog Valve`,为访问日志和错误日志设置不同的滚动策略。 5. **日志分割脚本**:对于手动...

    Liunx 下 nginx+tomcat 集群建设

    可以配置nginx的日志格式,以及通过logrotate定期归档和清理日志。 9. **扩展性**: 当需要处理更多的请求时,只需在集群中添加更多的tomcat实例,无需修改客户端配置,这体现了这种架构的高扩展性。 总结来说,...

    Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

    总结一下,Linux下管理和切割MongoDB日志涉及配置`logrotate`,以及根据需要调整日志级别以控制日志输出。同时,对于Tomcat,可以修改`logging.properties`文件和利用`cronolog`工具来优化`catalina.out`日志的处理...

    catalina.out 日志分割

    - **备份与清理**:定期对旧的日志文件进行备份和清理,避免占用过多磁盘空间。 通过上述步骤,我们可以有效地管理`catalina.out`日志文件的大小,确保系统的稳定运行。此外,还可以进一步探索其他日志管理工具(如...

    idea自动部署linux服务器

    - 使用远程日志查看工具,如Logrotate,定期清理和归档日志,保持服务器磁盘空间。 7. **版本控制**: - 使用Git等版本控制系统管理代码,每次部署都基于稳定的分支或标签,确保代码的可追溯性。 通过以上步骤,...

    石山石_从OpenStack到Kubernetes-云平台日志监控的新挑战.pdf

    #### 七、日志清理与维护 - **logrotate**:定期执行日志轮换操作,释放磁盘空间。 - **多通配符支持**:支持更为灵活的路径匹配规则。 - **定时策略**:采用`cron.hourly`策略,并结合日期格式`%Y%m`进行日志...

    cronolog-1.6.2.zip

    总结,"cronolog-1.6.2.zip"是一个用于Linux系统下的日志管理工具,主要针对Tomcat等应用的日志进行划分,以方便管理和分析。正确安装和配置cronolog,可以极大地提高服务器运维的效率和质量。同时,了解和掌握相关...

    Nginx高性能WEB服务器系列(超级详细)

    - **自动化脚本**:编写 Bash 或 Python 脚本来定期清理旧日志文件,保持日志系统的高效运行。 #### 14. Nginx 日志切割案例讲解 随着访问量的增加,日志文件会越来越大,影响性能。通过日志切割可以保持日志文件...

    架构师实战Nginx构建高性能WEB服务器

    - **日志轮转:** 配置logrotate工具定期清理旧的日志文件。 **示例配置:** ```nginx http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$...

Global site tag (gtag.js) - Google Analytics