про парсинг логов - когда освоишь работу с потоком стандартного ввода (input читает не только с клавиатуры), можно освоить довольно интересную хитрость. Оказывается, что тому же syslogd или syslogng можно скормить скрипт в качестве финализирующего обработчика лога (финальный шаг можно параллелить, и например, писать в консоль + в файл + в скрипт + отправляь на syslogserver).
Так вот этот этап про выбор скрипта, в качестве терминатора лога очень интересный. Скрипт берет в stdin сообщение от шины syslog и может его как угодно обработать. Например, посчитать всякое, или среагировать на ERROR или еще что-нибудь такое. В том числе и то, что хотел автор задачки для тебя. В этом случае скрипт будет вызываться самим сислогом, а не кроном, как это указанно в задаче, и не нужно будет париться о том, какие записи ты уже прочитал, а какие нет