对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能。如果用手工方式进行清理,会花费太多时间,并且很多时候难以满足实际要求。例如:如何在每个星期六凌晨3点把超过2G大的日志文件进行切割,保留最新的100M日志记录?
由于要在多个平台上使用,为了方便采用 Java 实现。本工具命名为 LogCutter.
更新日志:
版本: 2.0.1
1、增加文件归档执行器 ArcFileRunner
1) ArcFileRunner 把符合条件的文件或文件夹压缩归档到指定目录,并删除原文件或文件夹
2) 属性 expire 指定归档到期时间,属性 archive-path 指定归档目录
3) 归档文件格式:{原文件/文件夹名称}_{系统时间}.zip
(例如:下面的配置把最后修改时间超过 90 天的文件或文件夹归档到 ‘E:\backup’ 目录)
<archive-files archive-path="E:\backup" expire=90>
<file path="X:\MyApp\logs">*</file>
<file path="X:\nginx-1.4.1\logs">*.log</file>
</archive-files>
2、支持多组文件清理策略
1) config.xml 可以配置多项 <delete-files>、<cut-files> 或 <archive-files>
2) 不同的配置项可以使用不同的清理策略参数
(例如:下面配置的两组归档清理策略中,分别指定不同的归档到期时间和归档目录)
<archive-files archive-path="E:\backup" expire=90>
<file path="X:\MyApp\logs">*</file>
<file path="X:\nginx-1.4.1\logs">*.log</file>
</archive-files>
<archive-files archive-path="E:\backup2" expire=300>
<file path="X:\MyApp2\logs">*</file>
<file path="X:\Tomcat-6\logs">*.log</file>
</archive-files>
3、文件删除执行器 DelFileRunner 支持递归删除文件夹
1) DelFileRunner 会递归删除符合条件的文件夹及其中的所有文件
2) 注意:在判断是否删除文件夹时,检测的是文件夹的最后修改时间,而不是其中文件的最后修改时间
(例如:下面的配置会删除 logs 目录下所有最后修改时间超过 90 天的文件或文件夹)
<delete-files expire=90>
<file path="X:\MyApp\logs">*</file>
</delete-files>
4、执行器首次启动延时配置 ‘<start-check-delay>’ 支持指定绝对时间
1) 当指定为一个整数值时,执行器首次启动延时时间为该值设定的小时数
2) 当指定为一个 ‘hh:mm’ 格式的值时,执行器首次启动时间为该时分值
(例如)
<!-- 12 小时后首次启动执行器 -->
<start-check-delay>12</start-check-delay>
<!-- 12 点 34 分首次启动执行器,如果当前时间超过 12 点 34 分则在明天的 12 点 34 分首次启动执行器 -->
<start-check-delay>12:34</start-check-delay>
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 --------------------------------------------------





















大小: 77.7M
git图形化软件(tortoisegit)v2.13.0.1 官方中文版【64位|32位】
VMware vSphere 5安装无毒版
邮件服务器(Winmail Mail Server)4.4 中文破解版
Windos Apache Mysql PHP集成安装环境(WampServer)V3.0.6 官方版
ISAPI Rewrite3 fullv3.1.0.73 绿色版 安装版
MaxDOS 网刻服务端(MaxNGS)2.01 绿色免费版
最简单的ASP本地调试工具NetBox(aspweb.exe)绿色免费版
Gene6 FTP Server(G6FTP)v3.10.0.2中文破解版
BareTailPro 已注册版(mysql日志查看工具)2.50a 绿色中文版
PC变高性能路由器(MikroTik RouterOS)5.16 自动破解版
Xlight FTP Serverv3.6.5 汉化中文注册版
端口扫描工具FreePortScannerv3.3.9 绿色英文版
ossbrowser(Windows32位+64位版)V1.16.0 最新版
服务器安全一键配置工具v1.0 绿色免费版