Существует утилита командной строки (от 2003 )под названием Re -Tail или «retail», которая выполняет инкрементное чтение файла журнала каждый раз, когда вы запускаете программу в файле журнала.
Это отлично подходит, например, для заданий cron, которые запускаются каждый час.
Re -Tail сохраняет состояние в "офсетном файле"; для каждого файла, в котором вы его запускаете, он будет хранить номер последней строки, а также текст, который был в этом номере строки.
В следующий раз, когда вы запустите программу, она попытается найти сохраненный номер строки и сравнить содержимое. Если есть совпадение, будет выведена остальная часть файла, начиная со следующей строки. Если в файле на диске меньше строк или содержимое строк не совпадает, предполагается, что файл был очищен или повернут, и в этом случае он начнется с первой строки.
Наконец, розничная торговля обновит сохраненный номер строки и содержимое.
Программное обеспечение находится по адресу:http://xjack.org/retail/
Когда я запускаю розничную торговлю с правами root, мне нравится помещать сохраненное состояние в /var/lib/retail. Например, на одной машине я запускаю ритейл каждый час, чтобы составить отчет о входах в систему SSH, используя сценарий, содержащий следующую командную строку:
/usr/local/bin/retail -p /var/lib/retail/ /var/log/secure >"$tempfile"
Удачи!