4.3 KiB
Raw Permalink Blame History

  • 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