Как посмотреть журнал службы, ошибки за последний час, сообщения ядра и прошлую загрузку, следить за журналом в реальном времени и ограничить его размер.
Содержание
Почти на любой вопрос «почему не работает» ответ — в журнале. В современных Linux его ведёт systemd: сообщения служб, ядра и самой системы собраны в одном месте и читаются командой journalctl.
Журнал службы
sudo journalctl -u nginx -n 50 --no-pager # последние 50 строк
sudo journalctl -u nginx -f # следить за новыми строками-u — служба, -f — показывать новые строки по мере появления, выход — Ctrl+C. Без -n журнал открывается целиком с самого начала: листать — пробел и стрелки, G — в конец, / — поиск, q — выход. -e сразу откроет конец журнала.
Несколько служб сразу: -u nginx -u php8.4-fpm. Имя службы подскажет systemctl list-units --type=service.
За какое время
sudo journalctl --since "1 hour ago"
sudo journalctl --since today
sudo journalctl --since "2026-10-12 09:00" --until "2026-10-12 10:00"Время — по часовому поясу сервера, его покажет timedatectl.
Только ошибки
sudo journalctl -p err -b-p err — ошибки и всё, что серьёзнее; -p warning — ещё и предупреждения. -b — с последней загрузки.
Ядро и прошлые загрузки
sudo journalctl -k # сообщения ядра: диски, сеть, нехватка памяти
sudo journalctl --list-boots # список загрузок
sudo journalctl -b -1 -e # конец прошлой загрузкиПоследняя команда помогает понять, почему сервер перезагрузился: смотрите, что было в журнале перед концом.
Если в --list-boots только одна загрузка, журнал хранится в памяти и пропадает при перезагрузке. Так по умолчанию в AlmaLinux: там всё, что было до перезагрузки, остаётся в /var/log/messages. Чтобы и журнал systemd сохранялся на диск:
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journaldПоиск по тексту
sudo journalctl -u ssh --since today | grep -i 'failed password'Так видно, кто подбирал пароль к SSH. Служба SSH называется ssh в Ubuntu и Debian и sshd в AlmaLinux. Если таких строк много — пора защитить сервер.
Файлы в /var/log
Многие программы по-прежнему пишут журналы в обычные файлы:
| Файл | Что в нём |
|---|---|
| /var/log/nginx/error.log, access.log | ошибки и запросы nginx |
| /var/log/apache2/ — Ubuntu, Debian; /var/log/httpd/ — AlmaLinux | Apache |
| /var/log/syslog, /var/log/auth.log — Ubuntu | общий журнал и входы в систему |
| /var/log/messages, /var/log/secure — AlmaLinux | то же в AlmaLinux |
| /var/log/apt/history.log, /var/log/dnf.log | что ставили и обновляли |
В Debian 13 файлов syslog и auth.log нет. Если нужного файла нет и в вашей системе, смотрите journalctl: там всё то же самое.
Следить за файлом — sudo tail -f /var/log/nginx/error.log. Старые журналы переименовываются и сжимаются — error.log.1, error.log.2.gz, — этим раз в день или неделю занимается logrotate.
Сколько места занимает журнал
journalctl --disk-usage
sudo journalctl --vacuum-size=500M # оставить последние 500 МБ
sudo journalctl --vacuum-time=30d # или последние 30 днейСам журнал занимает не больше 10 % диска и не больше 4 ГБ. Как задать предел меньше — в статье Закончилось место на диске.
FreeBSD
Во FreeBSD systemd нет: журналы — обычные файлы. Общий — /var/log/messages, входы — /var/log/auth.log. Подробнее — в справочнике FreeBSD.
Не нашли ответ? Напишите в поддержку — подскажем.


