journalctl
12 commands
12 shown
Фильтр по приоритету ошибок и выше
Только err/crit/alert/emerg за текущую загрузку; -p принимает и диапазон (например -p warning..err)
journalctl -p err -b --no-pager
Фильтр по полю systemd-юнита
Доверенная выборка по индексированному полю, в отличие от -u, который подмешивает coredump и шум PAM
journalctl _SYSTEMD_UNIT=sshd.service --since today
Объединение фильтров полей через OR
Одиночный + это логическое OR между группами условий; совпадения одного поля внутри группы тоже по OR
journalctl _PID=1 + _COMM=sshd -o short-iso
Regex-поиск по сообщениям
PCRE2-поиск по MESSAGE; сузьте шум через -p err. note: это скан, не по индексу
journalctl --grep='oom|out of memory' --case-sensitive=false -b
Подробный вывод со всеми полями
Показывает все поля журнала включая курсор записи; -o json-pretty для машинного разбора
journalctl -u <name> -o verbose -n 1
Список загрузок и чтение прошлой
Индекс прошлых загрузок, затем -b -1 читает предыдущую. note: нужно постоянное хранилище
journalctl --list-boots && journalctl -b -1 -p warning
Кольцевой буфер ядра с временем
Как dmesg, но с реальным временем и фильтром по загрузке; -k это _TRANSPORT=kernel
journalctl -k -b -o short-precise --grep='segfault|I/O error'
Размер журнала и очистка по размеру/времени
Показать занятый объём, затем урезать до 500M и удалить записи старше 2 дней
journalctl --disk-usage; journalctl --vacuum-size=500M --vacuum-time=2d
Слежение по syslog-идентификатору
Слежение по SYSLOG_IDENTIFIER (не по юниту); -t повторяется, --no-hostname убирает лишнее
journalctl -t kernel -t sudo -f --no-hostname
Вывод выбранных полей колонками
Урезать JSON до нужных полей и вывести табуляцией; __REALTIME_TIMESTAMP в микросекундах
journalctl -u <name> --output=json --output-fields=__REALTIME_TIMESTAMP,MESSAGE,_PID | jq -r '[.__REALTIME_TIMESTAMP,._PID,.MESSAGE]|@tsv'
Слияние журналов из каталога
Чтение журналов из другого корня (rescue/форензика) без копирования файлов
journalctl -D /mnt/crashed/var/log/journal -b -1 -p err
Проверка постоянного хранилища журнала
Если /var/log/journal нет, логи в памяти и теряются при перезагрузке. fix: mkdir + systemd-tmpfiles
journalctl --header | grep -iE 'file|state'; ls -d /var/log/journal 2>/dev/null || echo volatile
no commands match