4.3 KiB
-
tail -f /var/log/*
- логи (-f
- обновление в реальном времени) -
journalctl
- утилита для просмотра логов служб, управляемыхsystemd
-u <service_name>
- просмотр логов конкретной службы
journalctl -u nginx
journalctl -u nginx -f
- просмотр логов в реальном времениjournalctl -n 100
- последние 100 строкjournalctl --since "2024-10-03 12:00:00" --until "2024-10-03 14:00:00"
- логи за конкретный периодjournalctl -p err
- можно показывать только ошибки- emerg (0): Аварийные сообщения.
- alert (1): Требуют немедленных действий.
- crit (2): Критические ошибки.
- err (3): Ошибки.
- warning (4): Предупреждения.
- notice (5): Важные события.
- info (6): Информационные сообщения.
- debug (7): Отладочные сообщения.
journalctl -xe
- x (или --catalog) — выводит дополнительные объяснения (аннотации) к некоторым сообщениям журнала. Это помогает понять детали ошибок или предупреждений, предлагая описания и возможные решения, если такие есть.
- e (или --pager-end) — открывает журнал в режиме постраничного просмотра и сразу прокручивает его до конца, показывая самые последние записи.
journalctl -u SDWL_Downloader_8090.service -xe
-
sudo journalctl --disk-usage
-
sudo journalctl --vacuum-size=1G
- максимально допустимый размер для хранимых на диске логов -
sudo journalctl --vacuum-time=1years
- максимально допустимый время для хранимых на диске логов
-
tail -f
следит за файлом и выводит новые строки по мере их добавления в файл. Однако, если файл будет удалён и создан заново (например, при ротации логов),tail -f
перестанет отслеживать файл, потому что он будет считать, что файл исчез. -
tail -F
делает то же самое, но в случае удаления файла и его создания заново,tail -F
продолжит отслеживать файл. Это полезно для логов, так как они могут быть перезаписаны, но вы хотите продолжать их отслеживать, несмотря на изменения имени файла или его создание заново.
Используйте опцию -F, если производится слежение за автоматически архивируемыми файлами журналов, например, с помощью logrotate. В этом случае слежение за файлом будет происходить даже в случае его переименования, пересоздания или удаления.
/var/log/messages {
size 100M # Ротация, если размер превышает 100 МБ
rotate 10 # Хранить до 10 архивов
compress # Сжимать старые файлы
delaycompress # Откладывать сжатие на один цикл
missingok # Игнорировать, если файл отсутствует
notifempty # Пропускать пустые файлы
sharedscripts # Пост-скрипт выполняется один раз для всех
postrotate
/usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
endscript
}
logrotate -d /etc/logrotate.d/app
logrotate -f /etc/logrotate.d/app