Log-Cutter 是JessMA开源组织开发的一个简单实用的日志切割清理工具。对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能。如果用手工方式进行清理,会花费太多时间,并且很多时候难以满足实际要求。例如:如何在每个星期六凌晨3点把超过 2G 大的日志文件进行切割,保留最新的 100M 日志记录? 网上没有发现能满足本座要求的日志切割工具,因此花了一些闲暇时间自己写了一个。由于要在多个平台上使用,为了方便采用 Java 实现。本工具命名为 Log-Cutter,主要有以下特点:

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

  2. 支持命令行交互式运行

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

  4. 支持三种日志清理方式:删除日志文件、切割日志文件、归档日志文件

  5. 支持对 GB18030、UTF-8、UTF-16LE、UTF-16BE 等常用日志文件类型进行切割

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

详细说明与使用方法参考:《操作指南》

  • 使用方法:

    **************************************************************
    **** LogCutter - JessMA Open Source, all rights reserved. ****
    **************************************************************一、环境要求
    --------------------------------------------------
    1) Java 版 本: JDK / JRE 1.6 以上
    2) 依赖程序包: dom4j、log4j、ant、juniversalchardet
    --------------------------------------------------二、配置文件
    --------------------------------------------------
    1) 程序配置文件: conf/config.xml (默认)(示例参考:conf/config-template.xml)
    2) 日志配置文件: conf/log4j2.xml (默认)(示例请参考:conf/log4j2.xml)
    --------------------------------------------------三、安装部署
    (注 :LogCutter 需要配置 ‘JAVA_HOME’ / ‘JRE_HOME’ 和 ‘CLASSPATH’ 系统环境变量)
    --------------------------------------------------
    1) 配置系统环境变量 ‘JAVA_HOME’(或 ‘JRE_HOME’) 和 ‘CLASSPATH’
    2) 在 LogCutter配置文件(默认:conf/config.xml)中配置清理规则
    3) 启动 LogCutter
    --------------------------------------------------四、启动方式
    --------------------------------------------------
    1) WindowsA) 前台运行: > run.bat [ -f config-file ]B) 后台运行: > LogCutter.exe  {    -install-demand  (安装手动启动服务)-install-auto    (安装自动启动服务)-uninstall       (删除服务)-start           (启动服务)-stop            (停止服务)-status          (查看服务状态)}*** 注 *** @ LogCutter.exe 以 Windows 系统服务的方式运行,安装好后也可以通过 Windows 服务管理器进行管理@ LogCutter.exe 是 32 位程序,LogCutter_x64.exe 是 64 位程序,根据当前系统平台使用其中之一C) 单次运行: > run.bat -1 [ -f config-file ]2) Linux / UnixA) 前台运行: $ run.sh [ -f config-file ]B) 后台运行: $ run.sh [ -f config-file ] -dC) 单次运行: $ run.sh -1 [ -f config-file ] [ -d ]*** 注 ***@ 可以把 run.sh 启动命令加入 /etc/rc.d/rc.local 中,从而设置为开机时自动运行@ 可以把 run.sh -1 放入 CronTab 中定期执行,并且不用常驻内存,如:## 30 2 * * 2,4,6 root /usr/local/LogCutter/bin/run.sh -1 > /dev/null
    --------------------------------------------------

  • 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<CONFIG  xmlns="http://www.jessma.org"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.jessma.org http://www.jessma.org/schema/log-cutter-cfg-2.0.xsd"><global><!-- 开始日志检查延时 (小时), 默认: 0 (立刻开始)1) 当指定为一个整数值时,执行器首次启动延时时间为该值设定的小时数(例如:12 小时后首次启动执行器)<start-check-delay>12</start-check-delay>2) 当指定为一个 ‘hh:mm’ 格式的值时,执行器首次启动时间为该时分值(例如:12 点 34 分首次启动执行器,如果当前时间超过 12 点 34 分则在明天的 12 点 34 分首次启动执行器)<start-check-delay>12:34</start-check-delay>--><!-- 02 点 30 分首次启动执行器 --><start-check-delay>02:30</start-check-delay><!-- 日志检查间隔 (小时), 默认: 72 --><check-interval></check-interval><!-- Log4J 配置文件, 默认: ${CLASS_ROOT}/../conf/log4j.properties --><log4j-config-file></log4j-config-file><!-- 进程锁文件, 默认: ${CLASS_ROOT}/../${APP_NAME}.lock --><lock-file></lock-file></global><!-- 要删除的日志文件列表(可配置多个,由 DelFileRunner 执行)1) DelFileRunner 会递归删除符合条件的文件夹及其中的所有文件2) 注意:在判断是否删除文件夹时,检测的是文件夹的最后修改时间,而不是其中文件的最后修改时间3) DelFileRunner 适用于清理 “定期产生新日志文件” 的应用程序日志--><!-- delete-files.expire: 日志文件过期时间(天), 默认: 90 --><delete-files expire="30"><!-- file.path: 文件所在目录, 必须填写, 不能包含通配符 --><!-- file: 文件或文件夹名称, 必须填写, 可包含通配符 --><file path="D:\LogCutter\logs">LogCutter.log*</file><file path="D:\hMailServer\Logs">*.log</file><file path="D:\Tomcat 6.0\logs">*.log</file></delete-files><delete-files expire="365"><file path="E:\backup">*</file></delete-files><!-- 要截断的日志文件列表(可配置多个,由 CutFileRunner 执行)1) CutFileRunner 只会扫描符合条件的文件,不会扫描文件夹2) CutFileRunner 会截断文件的前部内容,保留后部内容3) CutFileRunner 适用于清理 “日志文件不断追加增长” 的应用程序日志--><!-- cut-files.threshold:   日志文件截断阀值(KB), 默认: 10240 --><!-- cut-files.reserve:     日志文件保留内容(KB), 默认: 1024 --><!--<!注!> 'cut-files.reserve' 是保留内容的近似值, 实际内容按行取整保留如下列日志文件内容:...... ...... ......line1: xxxxxxxxxxxxxxxxxxxxxline2: xxxxxxxxxxPyyyyyyyyyyline3: zzzzzzzzzzzzzzzzzzzzzline4: zzzzzzzzzzzzzzzzzzzzz...... ...... ...... (EOF)'P'为定位得到的保留起点, 程序实际会在'P'点开始查找下一个换行符,从该换行符的后一个字符开始保留, 也就是从第三行开始保留到文件末尾--><cut-files threshold="10240" reserve="512"><file path="D:\Apache-2.2\logs">*.log</file><file path="D:\MySQL Server 5.1\data">*.err</file></cut-files><!-- 要归档的日志文件列表(可配置多个,由 ArcFileRunner 执行)1) ArchiveFileRunner 把符合条件的文件或文件夹压缩归档到指定目录,并删除原文件或文件夹2) 归档文件格式:{原文件/文件夹名称}_{系统时间}.zip3) 注意:在判断是否归档文件夹时,检测的是文件夹的最后修改时间,而不是其中文件的最后修改时间4) ArchiveFileRunner 适用于清理 “定期产生新日志文件或日志目录” 的应用程序日志--><!-- archive-files.expire:   日志文件过期时间(天), 默认: 90 --><!-- archive-files.archive-path: 日志文件归档目录 --><archive-files expire="120" archive-path="E:\backup"><file path="D:\MySQL Server 5.1\data">mysql-bin.*</file></archive-files>
</CONFIG>

日志切割清理工具 Log-Cutter相关推荐

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

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

  2. 服务器log文件清理,服务器日志切割清理工具(LogCutter)

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

  3. SQL日志文件查看工具(Log Explorer for SQL Server v4.2)

    下载地址:http://download.csdn.net/source/2284248 1.Log Explorer for SQL Server v4.2.1 该软件我比较推荐的 安装完毕后,注册 ...

  4. 跨平台日志清理工具 Log-Cutter v1.0.3 正式发布

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

  5. 笔记12(36-40)域名重定向,用户认证,nginx访问日志,日志切割

    学习笔记 域名重定向 配置第二个域名: vi /etc/nginx/conf.d/blog.aminglinux.cc.conf 在server_name 那一行的域名后面加一个域名,空格作为分隔 n ...

  6. Nginx 日志配置、日志切割

    Nginx 日志配置.日志切割 设置 access.log 语法 log_format自定义格式 设置error_log 语法 日志切割 前置文章:Nginx 的配置文件 nginx.conf Ngi ...

  7. catalina.out 日志切割及定时清理

    一.安装 1.. 安装使用cronolog工具对catalina.out日志文件进行切割 # wget http://cronolog.org/download/cronolog-1.6.2.tar. ...

  8. Linux日志切割工具logrotate原理和配置详解

     前言: 对于Linux系统安全来说,日志文件是及其重要的工具 一.logrotate概念 1.1 概念 logrotate 程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的 ...

  9. 运维基础(13)日志切割工具 Logrotate

    Logrotate 程序是一个日志文件管理工具,用于分割日志文件,压缩转存.删除旧的日志文件,并创建新的日志文件,下面就对 logrotate 日志轮转的记录: Linux 系统默认安装 logrot ...

最新文章

  1. kali linux samba,Kali Linux 渗透测试:SMB、SMTP扫描工具(14)
  2. 得了诺奖的彩色照相术失传100多年,现在终于被找回来了
  3. 超市的100年发展史:好日子终结 亚马逊无人店是趋势
  4. [开源] .NETCore websocket 即时通讯组件---ImCore
  5. 设计模式-Factory Method Pattern
  6. Python快速学习03:运算 缩进和选择
  7. 【ATT】Reverse Nodes in k-Group
  8. 你是否发现 职业能力危机,请 警惕
  9. Centos7 Minimal安装常用工具包
  10. C++ 数据抽象 封装 接口
  11. 蚂蚁金服入职考试_程序员入职蚂蚁金服被质疑,网友评论人生污点,不把外包当人?...
  12. tmux + zsh
  13. 清北大学计算机专业学习清单,好专业都在清北交复?快来看看这份院校清单,拥有着全国排名【NO.1】的专业...
  14. Linux防火墙之介绍
  15. 盘点40种常用的芯片封装技术
  16. 爬虫爬取千万数据如何快速保存,看这里
  17. 原创C#Winform桌面应用中实用又美观的开关控件源码分享
  18. javascript 学习
  19. 微信公众平台开发(110) 微信连Wi-Fi
  20. Trying to start MapKit location updates without prompting for location authorization. Must call -[CL

热门文章

  1. ADSL上网常见错误提示
  2. 大数据开发实战:Hive优化实战2-大表join小表优化
  3. 《信息系统安全等级保护定级报告》
  4. Git如何回滚代码?
  5. myeclipse中git的使用
  6. Redis 通用操作1
  7. Web访问RabbitMQ
  8. python发带附件的中文邮件
  9. 问题-[ACCESS2007]怎么显示MsysObjects
  10. 华为TE30点对点呼叫TE40提示不允许使用ip地址呼叫如何解决?