Journalctl: различия между версиями
(не показано 7 промежуточных версий этого же участника) | |||
Строка 2: | Строка 2: | ||
[[Image: journalctl — logs.png |500px|thumb|right| Просмотр системного журнала с помощью journalctl]] | [[Image: journalctl — logs.png |500px|thumb|right| Просмотр системного журнала с помощью journalctl]] | ||
== Описание == | == Описание == | ||
journalctl — это консольная утилита для просмотра системного журнала ОС Linux, поэтому перед вводом команд подключитесь к | journalctl — это консольная утилита для просмотра системного журнала ОС Linux, поэтому перед вводом команд подключитесь к [[SSH]] контроллера. | ||
Здесь приведены примеры, которые решают большинство задач. Полный список параметров смотрите командой < | Здесь приведены примеры, которые решают большинство задач. Полный список параметров утилиты, смотрите командой: | ||
<syntaxhighlight lang="bash"> | |||
journalctl --help | |||
</syntaxhighlight> | |||
Вывод команды можно фильтровать по уровню важности сообщений: | |||
* 0: emergency — чрезвычайная ситуация | |||
* 1: alerts — предупреждения, требуется вмешательство | |||
* 2: critical — критическое состояние | |||
* 3: errors — ошибки | |||
* 4: warning — предупреждения | |||
* 5: notice — уведомления | |||
* 6: info — информационные сообщения | |||
* 7: debug — отладочные сообщения | |||
Например, чтобы вывести все ошибки: | |||
<syntaxhighlight lang="bash"> | |||
journalctl -p 3 | |||
</syntaxhighlight> | |||
Перемещаться по выводу утилиты можно с помощью клавиш: | Перемещаться по выводу утилиты можно с помощью клавиш: | ||
Строка 68: | Строка 85: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
journalctl -u wb-mqtt-serial | journalctl -u wb-mqtt-serial | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 80: | Строка 92: | ||
journalctl --since -1d | journalctl --since -1d | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*: можно использовать | *: вместо d можно использовать h — часы, m — минуты, w — недели | ||
* записи с определённого времени: | * записи с определённого времени: | ||
*:<syntaxhighlight lang="bash"> | *:<syntaxhighlight lang="bash"> | ||
Строка 88: | Строка 100: | ||
*:<syntaxhighlight lang="bash"> | *:<syntaxhighlight lang="bash"> | ||
journalctl --since "2020-02-13 07:00:00" --until "2020-02-14 07:00:00" | journalctl --since "2020-02-13 07:00:00" --until "2020-02-14 07:00:00" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Параметры можно комбинировать, например, выведем все сообщения драйвера wb-mqtt-serial с момента последней загрузки: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
journalctl -b 0 -u wb-mqtt-serial | |||
journalctl -b 0 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 121: | Строка 110: | ||
Вывод утилиты journalctl можно сохранить в файл, для этого добавьте в конец команды <code>>> filename.txt</code>, например, сохраним в файл сообщения драйвера wb-mqtt-serial: | Вывод утилиты journalctl можно сохранить в файл, для этого добавьте в конец команды <code>>> filename.txt</code>, например, сохраним в файл сообщения драйвера wb-mqtt-serial: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
journalctl | journalctl -u wb-mqtt-serial >> /tmp/log-file.txt | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Так как вывод команды будет сохранён в файл <code>/tmp/log-file.txt</code>, то на консоли вы ничего не увидите. | Так как вывод команды будет сохранён в файл <code>/tmp/log-file.txt</code>, то на консоли вы ничего не увидите. | ||
Строка 127: | Строка 116: | ||
О том, как скопировать файл с контроллера на компьютер, читайте в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]]. | О том, как скопировать файл с контроллера на компьютер, читайте в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]]. | ||
== | == Прочее == | ||
Посмотреть занимаемое системным журналом место: | Посмотреть занимаемое системным журналом место: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> |
Версия 17:26, 4 ноября 2021
Описание
journalctl — это консольная утилита для просмотра системного журнала ОС Linux, поэтому перед вводом команд подключитесь к SSH контроллера.
Здесь приведены примеры, которые решают большинство задач. Полный список параметров утилиты, смотрите командой:
journalctl --help
Вывод команды можно фильтровать по уровню важности сообщений:
- 0: emergency — чрезвычайная ситуация
- 1: alerts — предупреждения, требуется вмешательство
- 2: critical — критическое состояние
- 3: errors — ошибки
- 4: warning — предупреждения
- 5: notice — уведомления
- 6: info — информационные сообщения
- 7: debug — отладочные сообщения
Например, чтобы вывести все ошибки:
journalctl -p 3
Перемещаться по выводу утилиты можно с помощью клавиш:
- q — выйти из просмотра.
- ↑ — вверх на одну строку.
- ↓ — вниз на одну строку.
- b — вверх на одну страницу
- Пробел — вниз на одну страницу
- g — перейти на первую строку
- / — поиск по журналу
- n — найти следующее вхождение
- N — найти предыдущее вхождение
Архив
journald при каждой загрузке создаёт новый журнал, а старый закрывает. Список доступных журналов можно посмотреть командой:
# journalctl --list-boots
-2 301af672ad2b400fa9c6562a3403d179 Sat 2021-10-30 10:25:03 +04—Thu 2021-11-04 10:39:39 +04
-1 1238af7b5cfb4dd9a10bc54a1dd63067 Thu 2021-11-04 10:39:53 +04—Thu 2021-11-04 13:42:19 +04
0 cc99bb41d7524321a70bddda34c1cceb Thu 2021-11-04 13:43:31 +04—Thu 2021-11-04 14:15:20 +04
По умолчанию journalctl выводит сообщения из всех доступных журналов, но вы можете сократить выборку, для этого укажите номер журнала в параметре -b
:
journalctl -b -1
Просмотр журнала
Вывести все сообщения:
journalctl
Выводить новые сообщения:
journalctl -f
Открыть журнал и перемотать его к последней записи:
journalctl -e
Вывести последние 5 строк журнала:
journalctl -n 5
Фильтрация результатов
Лог последней загрузки операционной системы:
journalctl -b
Посмотреть сообщения ядра (dmesg):
journalctl -k
Посмотреть журнал определённого сервиса, например, wb-mqtt-serial:
journalctl -u wb-mqtt-serial
Фильтр по времени:
- записи за последние сутки
journalctl --since -1d
- вместо d можно использовать h — часы, m — минуты, w — недели
- записи с определённого времени:
journalctl --since "2020-02-13 07:00:00"
- записи за период
journalctl --since "2020-02-13 07:00:00" --until "2020-02-14 07:00:00"
Параметры можно комбинировать, например, выведем все сообщения драйвера wb-mqtt-serial с момента последней загрузки:
journalctl -b 0 -u wb-mqtt-serial
Сохранение в текстовый файл
Вывод утилиты journalctl можно сохранить в файл, для этого добавьте в конец команды >> filename.txt
, например, сохраним в файл сообщения драйвера wb-mqtt-serial:
journalctl -u wb-mqtt-serial >> /tmp/log-file.txt
Так как вывод команды будет сохранён в файл /tmp/log-file.txt
, то на консоли вы ничего не увидите.
О том, как скопировать файл с контроллера на компьютер, читайте в статье Просмотр файлов контроллера с компьютера.
Прочее
Посмотреть занимаемое системным журналом место:
journalctl --disk-usage
Удалить все сообщения, старше 1 недели:
journalctl --vacuum-time=1weeks
Удалить все сообщения таким образом, чтобы журнал занял 100 Мбайт:
journalctl --vacuum-size=100M
Настроить параметры ведения системного журнала можно в файле /etc/systemd/journald.conf
.