使用shell脚本合并最近7天的日志文件

时间:2015-07-28 07:00:15

标签: linux shell unix

我在tomcat日志中有日志文件,我想编写一个脚本来合并最近7天的日志文件。我是shell脚本的新手。

请在这方面帮助我。

我的日志文件看起来像catalina.2015-04-23.log catalina.2015-06-05.log catalina.2015-06-04.log

2 个答案:

答案 0 :(得分:3)

这将生成合并的日志文件1周

    driver.close();
    try {
        Thread.sleep(1000);
        //driver.quit();
    } catch (Exception e) {
    }

答案 1 :(得分:0)

为了避免使用显式日期,我假设文件在他们记录的日期被上次修改,允许使用find和一行代码:

find . -name '*catalina*' -daystart -mtime -6 -mtime +0 -exec cat '{}' >> this_weeks_logs.log \; 

说明:

使用.片段-name查找本地文件夹catalina中的所有文件。 将最近6 * 24小时前交替的文件-mtime -6和最少0小时前的文件-mtime +0(使其间隔7天),然后开始计算从这天开始的小时数-daystart(即今天00:00:00) - 确保我们从昨天到一周前开始。然后con cat将文件设置为this_weeks_logs.log

有关-mtime选项的时间范围的更多信息,请参阅here