Вы, вероятно знакомы с
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 закроется при завершении процесса.