TGViewer
🐧 Linux Junior. Программирование под Linux. 🐧 Linux Junior. Программирование под Linux. @juniorlinux · 3.08K subscribers
Post #577 1.18K
🔥 tail для нескольких файлов и пользователей

Вы, вероятно знакомы с multitail — он умеет следить за несколькими логами сразу. Но:

🔴 он не всегда установлен,
🔴 иногда нет прав на установку, особенно на продакшн-серверах.

Не беда: с этим справится и обычный tail:

tail -f /var/logs/*.log


⚙️ Проблема с "висящими" tail

На сервере с приложением часто работают несколько разработчиков или тестировщиков. Все смотрят логи через tail -f.

Когда приложение перезапускают, старые процессы tail остаются в фоне — иногда на дни или даже недели. Это не критично, но выглядит неаккуратно и засоряет список процессов:

ps aux | grep tail


🔧 Решение: tail с автозавершением

Можно сделать алиас, который будет следить за логом только пока жив процесс приложения:

alias TFapplog='tail -f --pid=$(cat /opt/app/tmp/app.pid) /opt/app/logs/app.log'


Как это работает:

🔴 --pid=$(cat /opt/app/tmp/app.pid) — tail будет автоматически завершён, когда процесс приложения умрёт.
🔴 /opt/app/logs/app.log — путь к логу.

⚙️ Практика

Добавьте этот алиас в ~/.bashrc или ~/.bash_profile.

Теперь, даже если кто-то забудет завершить tail, он сам корректно закроется при рестарте приложения.

Можно сделать несколько алиасов для разных приложений или логов — удобно и безопасно.

🟢 Бонус

Для нескольких файлов и с PID можно использовать и так:

tail -f --pid=$(cat /opt/app/tmp/app.pid) /opt/app/logs/app1.log /opt/app/logs/app2.log


Все логи будут отображаться одновременно, и tail закроется при завершении процесса.
  • 👍 2
More from @juniorlinux
  1. Sep 28, 2026⚙️ Как устроена автоматизация задач через cron в Linux Если вам нужно регулярное выполнени…
  2. Sep 22, 2026По умолчанию rsync только добавляет и обновляет файлы, но не трогает то, что было удалено…
  3. Sep 22, 2026❓ Как удалить на приемнике файлы, которых больше нет в источнике, при синхронизации через…
  4. Sep 16, 2026Post #589
  5. Sep 10, 2026Как распаковать .tar.gz, .tar.bz2, .tar.xz и .tar.zst в Linux Для работы с архивами в Linu…
  6. Sep 4, 2026Посмотреть очередь задач, созданных через at, можно командой atq (или at -l). Она выведет…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →