Это не самое эффективное решение, но вы можете сначала подсчитать количество событий для каждой минуты, а затем выполнить поиск файла для каждой из этих минут, когда счетчик> = 60.
sort -k 2,3 your_log_file \
| uniq -c -s 8 -w 16 \
| while read count _ date time _; do
[ "$count" -ge 60 ] && grep -F " $date ${time%:*}" your_log_file
done
Примечания:
Если ваш файл полон событий, велика вероятность, что вы в конечном итоге будете выполнять с ним многочисленные команды grep
. Лучшим решением будет последовательное чтение файла журнала и запоминание строк за последнюю минуту. Когда вы дойдете до следующей минуты, распечатайте эти строки, если их количество больше 60. См. Ответ Стефана для такого решения.
Я обнаружил это упоминается в выпуске Github ; они предлагают установить / media
как tmpfs, чтобы он был очищен при перезапуске. В / etc / fstab
:
tmpfs /media tmpfs nodev,nosuid,size=1M 0 0