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