16 885
правок
(не показано 10 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: journalctl — утилита просмотра системного журнала}} | {{DISPLAYTITLE: journalctl — утилита просмотра системного журнала}} | ||
[[Image: journalctl — logs.png |500px|thumb|right| Просмотр системного журнала с помощью journalctl]] | |||
== Описание == | == Описание == | ||
journalctl — это консольная утилита для просмотра системного журнала ОС Linux, поэтому перед вводом команд подключитесь к контроллеру по [[SSH]] или [[Debug UART| отладочный порт]]. | |||
journalctl — это консольная утилита для просмотра системного журнала ОС Linux, поэтому перед вводом команд подключитесь к [[SSH]] | |||
Здесь приведены примеры, которые решают большинство задач. Полный список параметров | Здесь приведены примеры, которые решают большинство задач. Полный список параметров смотрите командой <code>journalctl --help</code> и в [https://manpages.debian.org/bullseye/systemd/journalctl.1.en.html документации на утилиту]. | ||
< | |||
journalctl --help | |||
</ | |||
Перемещаться по выводу утилиты можно с помощью клавиш: | Перемещаться по выводу утилиты можно с помощью клавиш: | ||
Строка 71: | Строка 68: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
journalctl -u wb-mqtt-serial | journalctl -u wb-mqtt-serial | ||
</syntaxhighlight> | |||
Просмотр сообщений от определённого сервиса в реальном времени: | |||
<syntaxhighlight lang="bash"> | |||
journalctl -u wb-mqtt-serial -f | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 78: | Строка 80: | ||
journalctl --since -1d | journalctl --since -1d | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*: | *: можно использовать: w — недели, d — дни, h — часы, m — минуты | ||
* записи с определённого времени: | * записи с определённого времени: | ||
*:<syntaxhighlight lang="bash"> | *:<syntaxhighlight lang="bash"> | ||
Строка 86: | Строка 88: | ||
*:<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 lang="bash"> | |||
journalctl --since "1 hour ago" | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Вывод команды можно фильтровать по уровню важности сообщений: | |||
* 0: emergency — чрезвычайная ситуация | |||
* 1: alerts — предупреждения, требуется вмешательство | |||
* 2: critical — критическое состояние | |||
* 3: errors — ошибки | |||
* 4: warning — предупреждения | |||
* 5: notice — уведомления | |||
* 6: info — информационные сообщения | |||
* 7: debug — отладочные сообщения | |||
Например, чтобы вывести все ошибки: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
journalctl -b 0 -u wb-mqtt-serial | journalctl -p 3 | ||
</syntaxhighlight> | |||
Параметры можно комбинировать, например: | |||
* показать предупреждения, записанные драйвером wb-mqtt-serial с момента последней загрузки: | |||
*:<syntaxhighlight lang="bash"> | |||
journalctl -b 0 -p 4 -u wb-mqtt-serial | |||
</syntaxhighlight> | |||
* показать ошибки, записанные драйвером wb-mqtt-serial за последний час: | |||
*:<syntaxhighlight lang="bash"> | |||
journalctl --since "1 hour ago" -p 3 -u wb-mqtt-serial | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Сохранение в текстовый файл == | == Сохранение в текстовый файл == | ||
Вывод утилиты journalctl можно сохранить в файл, для этого добавьте в конец команды < | Вывод утилиты journalctl можно сохранить в файл, для этого добавьте в конец команды <code>>> filename.txt</code>, например, сохраним в файл сообщения драйвера wb-mqtt-serial: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
journalctl -u wb-mqtt-serial >> /tmp/log-file.txt | journalctl --no-pager -u wb-mqtt-serial >> /tmp/log-file.txt | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Так как вывод команды будет сохранён в файл <code>/tmp/log-file.txt</code>, то на консоли вы ничего не увидите. | Так как вывод команды будет сохранён в файл <code>/tmp/log-file.txt</code>, то на консоли вы ничего не увидите. | ||
О том, как скопировать файл с контроллера на компьютер, читайте в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]]. | О том, как скопировать файл с контроллера на компьютер, читайте в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]]. | ||
== | |||
== Занимаемое логами место == | |||
Посмотреть занимаемое системным журналом место: | Посмотреть занимаемое системным журналом место: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> |