[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Logfiles splitten, Tool gesucht
[Thread Prev] | [Thread Next]
- Subject: Re: Logfiles splitten, Tool gesucht
- From: Thomas Stiefel <Tom@xxxxxxx>
- Date: Sun, 27 May 2012 23:25:18 +0200
- To: uugrn@xxxxxxxxxxxxxxx
Hallo Raphael, Am 27.05.2012 16:37, schrieb Raphael Eiselstein: > Hallo zusammen, > > ich hab hier ein System gefunden (FreeBSD), bei dem es seit ca 2 Jahren > kein Logrotate gab, d.h. irgendwelche Access-Logs sind auf ca 5Mio > Zeilen angewachsen. > > Jetzt will ich die nachtraeglich splitten, fuer jeden Monat eine Datei. > > ... > > Gibt es irgendwas in der Form von Grep, was mit sowas in der Art tut: > > $< inputfile $tool Pattern1 Output1 Pattern2 Output2 ... > > ... und das ganze so, dass das inputfile nur einmal gelesen werden muss. > > sowas gibt es und das gesuchte Tool nennt sich csplit. => http://nixdoc.net/man-pages/FreeBSD/csplit.1.html Ich habe das auch schon ein paar mal fuer genau den selben Zweck benutzt. Das Tool geht die Datei einmal durch und schreibt bei jedem gefunden Pattern ein neues Outputfile. Wenn es Monate aus mehreren Jahren sind, dann muss du eben mal probieren, ob csplit das auch mit verschieden Pattern hinbekommt, da ja im Apache Access-Log normalerweise das Datum einen Slash enthaelt (z. B. 27/May/2012). Notfalls musst die das Log vorher zumindest in die Jahre aufteilen. Fuer ein Jahr (acccess_2011.log) wuerde es aber beispielsweise so funktionieren: csplit -k -f access_log_2011- acccess_2011.log /Jan/ /Feb/ /Mar/ ... /Dec/ Output: access_log_2011-01 access_log_2011-02 ... access_log_2011-12 Gruss Tom -- UUGRN e.V. http://www.uugrn.org/ http://mailman.uugrn.org/mailman/listinfo/uugrn Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste Archiv: http://lists.uugrn.org/