Зміст
1. Команда tail – моніторинг файлу журналу (логів) в режимі реального часу
Як сказано, команда tail є найбільш поширеним рішенням для відображення файлу журналу (логів) в режимі реального часу. Однак команда для відображення файлу має дві версії, як показано в наведених нижче прикладах.
У першому прикладі для tail потрібно аргумент -f , щоб відстежувати вміст файлу.
$ sudo tail -f /var/log/apache2/access.log
Друга версія команди – це команда: tailf . Вам не потрібно використовувати ключ -f , тому що він вбудований в саму утиліту.
$ sudo tailf /var/log/apache2/access.log
Зазвичай файли журналу (логів) часто ротируються (архівуються, а через деякий час видаляються) на сервері Linuxза допомогою утиліти logrotate . Для перегляду файлу журналу (логів), які ротируються щодня, ви можете використовувати ключ -F для команди tail .
tail -F буде відслідковувати, чи був створений новий файл логів, і почне слідувати за новим файлом замість старого.
$ sudo tail -F /var/log/apache2/access.log
Однак за замовчуванням команда tail відобразить тільки останні 10 рядків файлу. Наприклад, якщо ви хочете дивитися в реальному часі тільки останні два рядки файлу журналу (логів), використовуйте файл -n в поєднанні з прапором -f , як показано в наведеному нижче прикладі.
$ sudo tail -n2 -f /var/log/apache2/access.log
2. Команда multitail – перегляд декількох файлів журналу (логів) в режимі реального часу
Ще одна цікава команда для відображення файлів журналу (логів) в режимі реального часу – це команда multitail . Назва команди має на увазі, що утиліта multitail може відстежувати кілька файлів в режимі реального часу. Multitail також дозволяє переміщатися вперед і назад в просматриваемом файлі.
Для установки утиліти mulitail в системах на базі Debian і RedHat виконайте команду наведену нижче.
$ sudo apt install multitail [В Debian и Ubuntu]
$ sudo yum install multitail [В RedHat & CentOS]
$ sudo dnf install multitail [В версии Fedora 22+]
Для одночасного відображення виводу двох файлів журналу виконайте команду, як показано в наведеному нижче прикладі.
$ sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log
3. Команда lnav – моніторинг декількох файлів журналу в режимі реального часу
Ще одна цікава команда, подібна команді multitail , – це команда lnav . Утиліта lnav також може переглядати і відстежувати кілька файлів і відображати їх вміст в режимі реального часу.
Щоб встановити утиліту lnav в дистрибутивах Linux на базі Debian і RedHat , виконайте наступну команду.
$ sudo apt install lnav [В Debian & Ubuntu]
$ sudo yum install lnav [В RedHat & CentOS]
$ sudo dnf install lnav [В версии Fedora 22+]
Слідкуйте за вмістом двох файлів журналу одночасно, ввівши команду, як показано в прикладі наведеному нижче.
$ sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log
4. Команда less – відображення в режимі реального часу лог-файли
Нарешті, ви можете відображати вміст файлу в режимі реального часу за допомогою команди less , якщо ви натиснете комбінацію клавіш Shift + F .
Як і у випадку з утилітою tail , команда less при натисканні Shift + F відкриває файл з кінця. В якості альтернативи ви також можете використовувати less прапором + F , щоб увійти в режим перегляду файлів в реальному часі.
$ sudo less + F /var/log/apache2/access.log
У цій статті ми показали, як подивитися дані, що додаються в файли журналів в режимі реального часу в терміналі в Linux .