Как уже сказали, есть ротация логов, поэтому в общем случае выдернуть за определенный период времени трудно, т.к. надо найти логи за предыдущие периоды.
Варианты:
- складывать все syslog логи в базу данных - самая популярная на сегодня Elasticsearch. У нее есть API на всех языках, взять оттуда логи за период времени нет проблем.
Для нее же есть log shipper, который умеет парсить и посылать логи в Elasticsearch
- ограничиться частным случаем - ротация происходит раз в неделю, формат названий старых syslog такой-то.
- или писать все самому - по-моему, нет смысла