#linux #logging #lines
#linux #ведение журнала #строки
Вопрос:
Я хотел бы просматривать только сообщения журнала, созданные в течение указанного периода времени (08:00 — 11:00) за ВСЕ дни.
Если я использую:
journalctl --since 08:00 --until 11:00
Он отображает журналы только за текущий день.
Есть идеи?
Ответ №1:
Прежде всего — где ваш файл журнала journalctl? По умолчанию journalctl собирает журналы с момента запуска системы.
По умолчанию файл журнала находится в /var/log/journal. Если этот каталог не существует, установите Storage=persistent в /etc/systemd/journald.conf и запустите systemctl restart systemd-journald.
И когда journalctl сохраняет все сообщения / события за все дни или когда система собирает журналы за несколько дней со дня сохранения настроек, вы можете извлечь из journalctl некоторую интересную информацию таким образом:
# Define year
year="2016"
# Defines the month in which you want to search
months=(08 09 10)
for i in "${months[@]}" ; do
# To set a range of days: 14 - 20
for j in `seq 14 20` ; do
journalctl --since "${year}-${i}-${j} 08:00:00" --until "${year}-${i}-${j} 11:00:00" >> /tmp/journal.${year}-${i}-${j}.log
done
done
Если вы хотите проверить дни с 1 по 9, вероятно, потребуется добавить механизм добавления 0 (01, 02, 03, …, 09).
Это пример, поэтому вы должны настроить его в соответствии с вашими потребностями.