pvэто ваша команда! P фе V iewer печатает статистику о прохождении данных через него, и может работать в любом месте трубопровода, так как это трубы стандартного ввода непосредственно через стандартный вывод. Например:
tail -f /var/log/nginx/access.log | pv --line-mode --rate > /dev/null
Команда pvвыводит в stderr текущее количество строк в секунду (по умолчанию - байты в секунду), что для данного конкретного источника данных (файл журнала по умолчанию Nginx) соответствует входящим веб-запросам в секунду. Я забочусь только о счетах, так что я в трубу /dev/null. Есть также варианты, такие как:
-b (общее количество строк),
--average-rate (средняя скорость с начала), и
--timer (отслеживает, как долго труба идет).
Если вы не скажете --line-mode, он будет считать байты, что, вероятно, не то, что вы хотите для журналов сервера, но может быть удобно в другом месте.
Последнее замечание: ... | pv -lb > file.txtочень похоже ... | tee file.txt | awk '{printf "\r%lu", NR}', что также удобно для подсчета строк, но pvвызов намного короче, хотя вывод не такой захватывающий - pvобновляется каждую секунду по умолчанию, в то время как эта awkкоманда обновляется непрерывно.