Я запускаю веб-сайт, и я хотел настроить однострочный файл Bash, поэтому, когда кто-то попадает на сайт, он будет издавать звуковой сигнал с помощью внутреннего зуммера ,'tail -f' не дает одиночных строк при прохождении через grep '
Пока он работает, используя следующее.
tail -f access_log | while read x ; do echo -ne '\007' $x '\n' ; done
Хвоста следует access_log и отвалы на STDOUT, получить STDOUT линии в то время, эхо строки с «\ 007» «внутренний гудком шестнадцатеричного кода», и сделано ...
Это работает как красота ... Каждое попадание показывает линию из журнала и звуковые сигналы ... Тем не менее, это очень раздражало, поэтому в идеале я хотел отфильтровать tail -f /access/log
, прежде чем он попадет в while
, так что только чтение получает строки, о которых я забочусь. Я думал grep "/index.php"
будет хорошим показателем посетителей ...
Это где проблема ...
я могу сделать ...
tail -f access_log | while read x ; do echo -ne '\007' $x '\n' ; done
подает звуковой сигнал на все и я может сделать ...
tail -f access_log | grep "/index.php"
и страницы отображаются без какого-либо звукового сигнала, но когда я делаю
tail -f access_log | grep "/index.php" | while read x ; do echo -ne '\007' $x '\n' ; done
Ничего не происходит, нет строки из журнала, нет звукового сигнала.
Я думаю, что grep что-то испортил, но я не могу понять, где. Мне бы хотелось, чтобы это был один лайнер, и я знаю, что это действительно должно быть сделано в скрипте, и было бы проще, но это не объясняет, почему выше, что, я думаю, должно работать, нет.
вы можете предоставить код журнала образец для нас, чтобы посмотреть и возиться с? – Ding
, к сожалению, нет ... его пронизано конфиденциальной информацией ... вы можете использовать любой access_log и просто выбрать один url для grep for. –
его довольно приятная функция, звук (смесь звуковых сигналов) из одной загрузки веб-страницы может выдавать около 20-30 звуковых сигналов (строки в журнале) ... звуковой сигнал означает, что вы можете сразу сказать, в какой момент файлы обслуживаются ... –