Algo simples pode funcionar para você.
Supondo que as entradas de log estão em uma única linha e as linhas sempre começam com YYYY-MM-DD
, um script simples como este dividiria o arquivo de registro por data.
logsplit: use cat arquivo de log | logsplit
#!/bin/bash
LOGBASEPATH=/logfilepath/logfile
while read LOGLINE ; do
[[ -z ${LOGLINE} ]] && continue # skip empty
dayprefix='echo $LOGLINE | cut -d ' ' -f 1'
echo $LOGLINE > $LOGBASEPATH/logname.$dayprefix
done
Isso combinaria muito bem com a opção dateext
do logrotate para que você possa ter um arquivo de log por dia.