对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能。如果用手工方式进行清理,会花费太多时间,并且很多时候难以满足实际要求。例如:如何在每个星期六凌晨3点把超过2G大的日志文件进行切割,保留最新的100M日志记录?

由于要在多个平台上使用,为了方便采用 Java 实现。本工具命名为 LogCutter.

更新日志:

版本: 2.0.1

1、增加文件归档执行器 ArcFileRunner

1) ArcFileRunner 把符合条件的文件或文件夹压缩归档到指定目录,并删除原文件或文件夹

2) 属性 expire 指定归档到期时间,属性 archive-path 指定归档目录

3) 归档文件格式:{原文件/文件夹名称}_{系统时间}.zip

(例如:下面的配置把最后修改时间超过 90 天的文件或文件夹归档到 ‘E:\backup’ 目录)

*

*.log

2、支持多组文件清理策略

1) config.xml 可以配置多项 、 或

2) 不同的配置项可以使用不同的清理策略参数

(例如:下面配置的两组归档清理策略中,分别指定不同的归档到期时间和归档目录)

*

*.log

*

*.log

3、文件删除执行器 DelFileRunner 支持递归删除文件夹

1) DelFileRunner 会递归删除符合条件的文件夹及其中的所有文件

2) 注意:在判断是否删除文件夹时,检测的是文件夹的最后修改时间,而不是其中文件的最后修改时间

(例如:下面的配置会删除 logs 目录下所有最后修改时间超过 90 天的文件或文件夹)

*

4、执行器首次启动延时配置 ‘’ 支持指定绝对时间

1) 当指定为一个整数值时,执行器首次启动延时时间为该值设定的小时数

2) 当指定为一个 ‘hh:mm’ 格式的值时,执行器首次启动时间为该时分值

(例如)

12

12:34

5、增加单次运行模式(running-only-once mode)

1) 在单次运行模式下,LogCutter 在启动时立刻运行所有执行器,当所有执行器运行完毕后退出程序

2) 单次运行模式可避免 LogCutter 作为常驻进程一直运行,配合 CronTab 等任务调度器一起使用则能达到定时清理的目的

3) 在单次运行模式下 运行 LogCutter 会忽略配置文件的 ‘start-check-delay’ 和 ‘check-interval’ 配置项

4) 通过命令行参数 ‘-1’ 指示使用单次运行模式启动 LogCutter

(例如)

Windows : > run.bat -1

Unix/Linux : > run.sh -1 [ -d ]

6、优化启动脚本 run.sh / run.bat

1) 只需配置好系统环境变量 ‘JAVA_HOME’(或 ‘JRE_HOME’) 和 ‘CLASSPATH’ 即可通过启动脚本运行 LogCutter

2) 启动脚本接受命令行参数并传递到 LogCutter 程序中。其中 run.sh 通过额外的参数 ‘-d’ 指示后台运行 LogCutter

主要特点:

支持 Linux、Mac 和 Windows 等所有常见操作系统平台

支持命令行交互式运行

支持后台非交互式运行(Linux/MAC 下使用 daemon 进程实现,Windows 用系统 Service 实现)

支持两种日志清理方式(删除日志文件或切割日志文件)

支持对 GB18030、UTF-8、UTF-16LE、UTF-16BE 等常用日志文件类型进行切割(不会发生切掉半个字符的情况)

高度可配置(程序执行周期、要删除的日志文件过期时间、要切割的日志文件阀值和保留大小等均可配置

使用方法:

*********************************************************** LogCutter - Bruce Liang, all rights reserved. ****

*******************************************************

一、启动方式

--------------------------------------------------

1) Windows

A) 前台运行: > ./run.bat

B) 后台运行: > ./LogCutter.exe {

-install-demand (安装手动启动服务)

-install-auto (安装自动启动服务)

-start (启动服务)

-stop (停止服务)

-status (查看服务状态)

}

*** 注 ***

@ LogCutter.exe 以 Windows 系统服务的方式运行,安装好后也可以通过 Windows 服务管理器进行管理

@ LogCutter.exe 依赖 JRE 1.6, 因此必须在注册表或环境变量中设置 %JAVA_HOME%

2) Linux / Unix

A) 前台运行: $ ./run.sh

B) 后台运行: $ ./run.sh -d

*** 注 ***

@ 可以设置为开机时自动后台运行,方法如下:

$ vi /etc/rc.d/rc.local

( 加入: ${YOUR_LOGCUTTER_PATH}/run.sh -d )

--------------------------------------------------

二、配置文件

--------------------------------------------------

1) 程序配置文件: ./conf/config.xml

2) 日志配置文件: ./conf/log4j.properties (默认)

--------------------------------------------------

环境要求:1) Java 版 本: JRE 1.6 以上

2) 依赖程序包: dom4j、log4j、juniversalchardet

--------------------------------------------------

服务器log文件清理,服务器日志切割清理工具(LogCutter)相关推荐

  1. 日志切割清理工具 Log-Cutter

    Log-Cutter 是JessMA开源组织开发的一个简单实用的日志切割清理工具.对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能.如果用手工方 ...

  2. SQLServer2005删除log文件和清空日志的方案

    数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日 ...

  3. 千牛如何撤销发往服务器的文件夹,千牛怎么清理缓存?两种清理千牛缓存方法介绍...

    千牛怎么清理缓存呢?如果缓存太多,千牛客户端会提示清理缓存,但是有很多朋友对于千牛怎么清理缓存还不太清楚,下文小编就为大家带来两种清理千牛缓存方法介绍,有需要的朋友一起去看下吧. 软件名称: 千牛电 ...

  4. java日志切割工具_用 Java 实现的日志切割清理工具

    对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能.如果用手工方式进行清理,会花费太多时间,并且很多时候难以满足实际要求.例如:如何在每个星期六凌 ...

  5. svn服务器记录日志文件,svn服务器日志时间设置

    svn服务器日志时间设置 内容精选 换一换 日志记录了运行环境的运行情况和功能流程的处理情况,是维护人员查看系统状态.进行问题定位的重要工具和手段.日志模块根据系统设置的日志级别,记录不同详细程度的内 ...

  6. 4.36域名重定向4.37用户认证4.38Nginx访问日志4.39日志不记录静态文件4.40日志切割...

    2019独角兽企业重金招聘Python工程师标准>>> 域名重定向 用户认证 Nginx访问日志 日志不记录静态文件 日志切割 域名重定向 配置第二个域名: vi /etc/ngin ...

  7. 4.16访问日志不记录静态文件,访问日志切割以及静态元素过期时间

    访问日志不记录静态文件 一个网站会有很多元素,尤其是图片.js.css等静态文件非常多,每个用户请求一个页面都会访问诸多的图片,这些元素都会被记录在日志中,如果一个网站访问量很大,那么这些日志会增长的 ...

  8. domino服务器库文件,Domino 服务器设置程序 涉及的文件

    Domino 服务器设置程序可以指导您在配置 Domino 服务器时作出选择.在网络域中设置第一台 Domino 服务器时会建立一个框架,该框架由 Domino 目录.标识符文件和文档组成.设置其他服 ...

  9. csgo服务器搭建文件,CSGO服务器架设.doc

    CSGO服务器架设 本文地址 :/forum.php?mod=viewthread&tid=19544&extra=page%3D1标题:CSGO 服务器架设Linux 满10/混战/ ...

  10. Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间...

    一.Apache访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 vim /usr/local/apache2.4/conf/extra/httpd-vho ...

最新文章

  1. 如何启用计算机超级账户,win7如何启用超级管理员账户 win7启用超级管理员账户方法介绍...
  2. 自动填充脚本使用及注意事项
  3. TiDB与gRPC的那点事
  4. [architecture]-DMB、DSB 和 ISB指令的深度解读
  5. 【AI白身境】学深度学习你不得不知的爬虫基础​​​​​​​
  6. shader weaver_Oracle通过邀请Weaver和Chin推动JavaFX向前发展
  7. php面向对象受保护,php面向对象二之封装,protected ,public,private权限管理
  8. java 判断是否base64_判断一个字符串是否进行了base64加密
  9. java写企业员工信息管理系统
  10. VC6.0 操作Excel表格
  11. Elsevier LaTeX 模板中参考文献没有序号,且文章引用不是序号引用
  12. 千寻位置48小时“复活”伽利略卫星定位系统
  13. Vue项目实战:订单列表页面实现
  14. 操作系统实验五 基于内核栈切换的进程切换(哈工大李治军)
  15. Unity3D合成大西瓜
  16. 手写Fbank语音特征提取
  17. 网络信息安全模型概述
  18. 基于java web的网上书店系统
  19. 用dosbox执行汇编程序步骤
  20. HDFS的常用操作--hdfs下的文件操作常用命令总结

热门文章

  1. 判断手机所属三大运营商 移动、联通、电信
  2. Hasor JDBC 的难关,嵌套事务处理思路
  3. Hadoop LZO的安装与配置
  4. Open Source Bing Maps API for ASP.NET MVC
  5. cisco SMD 配置安装
  6. ffmpeg 视频剪辑常用命令
  7. sudo apt-get install 安装软件总是出现“404 NOT FOUND” 错误的解决方案 !
  8. 浅谈HASH算法与CSDN密码泄漏事件
  9. java空值转datetime,关于java1.8中LocalDateTime实现日期,字符串互转小坑。
  10. UART的FIFO功能