2015-07-28 70 views
1

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

请在这方面帮助我。

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

回答

3

这将产生合并日志文件1周

for a in `seq 6 -1 0`; 
do 
    dt=`date "+%F" --date=" -"$a" days"`; 
    f=$dt".log"; 
    cat $f >> "1_week.log"; 
done; 
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 enate文件放到this_weeks_logs.log

更多的-mtime选项的时间范围内,可以发现here

相关问题