
Fedora OS представляет journalctl
новый способ регистрации сообщений об ошибках. Я узнал об этом недавно, когда выполнил обновление. var/log/messages
и многие другие файлы журналов теперь объединены в .journal
файл в var/log/journal
каталоге.
У меня есть специальный журнал, созданный специально для регистрации критических ошибок с использованием старого rsyslog
:
*.crit /var/log/critical/log
Этот файл будет отправлен мне по электронной почте и будет ротироваться каждый час с помощью задания cron, пока есть ошибка. Теперь, как это будет сделано с помощью journalctl
? Параметры в journald.conf
кажутся довольноограниченное. Мне все еще нужно rsyslog
это делать?
решение1
Эта команда выдает похожий вывод
journalctl --since="$(date '+%Y-%m-%d %H:%M:%S' -d '1 hour ago')" --priority=crit --quiet
решение2
Кстати, я написал небольшую программу journal-brief, которая выводит сводку сообщений журнала с момента ее последнего запуска.
https://github.com/twaugh/journal-brief
Если вы запустите его из cron (например, journal-brief -p err), вы получите его вывод по почте.
Он сохраняет закладки, где он был, запоминая курсор журнала, поэтому не будет отправлять дублирующие записи журнала.