Добавить временные метки для вывода команды «top»

Я извлекаю некоторые показатели производительности из «top» и сохраняю их в файл

top -b | grep 'tesseract\|node\|java\|beam.smp\|dockerd' > testm.txt 

поэтому на каждую секунду я получаю следующий результат:

  535 rabbitmq 20 0 1246756 128432 5536 S 1.3 3.4 618:33.41 beam.smp 589 root 20 0 351040 47836 25740 S 0.0 1.3 12:38.72 dockerd 1980 root 20 0 2236796 36844 15980 S 0.0 1.0 6:11.59 java 1995 root 20 0 1766008 241428 21844 S 0.0 6.4 11:26.85 java 29965 root 20 0 1107460 63732 19328 S 0.0 1.7 0:01.69 node 

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

Заранее спасибо!

One Solution collect form web for “Добавить временные метки для вывода команды «top»”

Добавление метки времени в каждую строку верхнего вывода для отдельного запуска top -b можно легко выполнить с помощью awk вместо grep для вашей фильтрации, поскольку awk имеет встроенные функции времени и может вводить их в свой вывод.

Я не выполняю большинство этих программ, поэтому я добавил bash и ssh в фильтр в своих примерах …

Вы можете сделать это с простой временной отметкой эпохи (секунды с 01-JAN-1970):

 top -b | awk '/bash|ssh|tesseract|node|java|beam.smp|dockerd/ {print systime(), $0}' 

Что меньше для хранения, а более чистое – для просмотра:

 bash-$ top -b | awk '/bash|ssh|tesseract|node|java|beam.smp|dockerd/ {print systime(), $0}' 1490018813 1229 root 20 0 891536 42868 28348 S 0.0 0.3 15:07.30 dockerd 1490018813 1240 root 20 0 65520 6208 5488 S 0.0 0.0 0:00.01 sshd 1490018813 2666 tim 20 0 24336 7136 3492 S 0.0 0.0 0:00.05 bash 1490018813 2710 tim 20 0 46984 5324 4644 S 0.0 0.0 0:09.08 ssh 1490018813 2783 root 20 0 105988 7184 6184 S 0.0 0.0 0:00.00 sshd 1490018813 2804 root 20 0 105988 7404 6408 S 0.0 0.0 0:00.00 sshd 

Или с более удобной для чтения меткой времени.

 top -b | awk '/bash|ssh|tesseract|node|java|beam.smp|dockerd/ {print strftime("%Y-%m-%d-%H:%M:%S", systime(), $0}' 

Что быстрее понять:

 bash-[541]$ top -b -n 3 | awk '/ssh|bash|java|dockerd/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}' 2017-03-20-10:04:23 1229 root 20 0 891536 42868 28348 S 0.0 0.3 15:07.24 dockerd 2017-03-20-10:04:23 1240 root 20 0 65520 6208 5488 S 0.0 0.0 0:00.01 sshd 2017-03-20-10:04:23 2666 tim 20 0 24336 7136 3492 S 0.0 0.0 0:00.05 bash 2017-03-20-10:04:23 2710 tim 20 0 46984 5324 4644 S 0.0 0.0 0:09.08 ssh 2017-03-20-10:04:23 2783 root 20 0 105988 7184 6184 S 0.0 0.0 0:00.00 sshd 2017-03-20-10:04:23 2804 root 20 0 105988 7404 6408 S 0.0 0.0 0:00.00 sshd 2017-03-20-10:04:23 2909 tim 20 0 105988 5072 4072 S 0.0 0.0 0:00.20 sshd 2017-03-20-10:04:23 2931 tim 20 0 105988 4252 3224 S 0.0 0.0 0:00.00 sshd 
  • В чем разница между командами ps и top?
  • Как показать время процессора для процессов через вершину без «корневых» процессов
  • iotop, но для конкретного диска?
  • top -bn1 не дает правильного использования ЦП
  • Как заставить все процессы работать на каждом ядре процессора в Ubuntu?
  • top / htop; групповой процесс по команде
  • Предупреждение при завершении процесса
  • Проверяет ли верхние системные файлы?
  • Как интерпретировать эту верхнюю команду
  • Определите, сколько процессов использует каждый диск?
  • Получите максимальное использование ЦП для процесса
  • Interesting Posts

    Как настроить анонимно записываемый ftp-сервер с помощью vsftpd?

    Найти команду, связанную с файлом конфигурации

    Увеличение размера Gzip в Linux

    Поиск подходящего способа переименования загрузочных записей GRUB

    Где исчезла моя строка `uniq` или` sort -u`, с некоторыми символами юникода

    Как исключить некоторые каталоги при удалении с помощью «rm -rf» или «rmdir»?

    Почему мой elif рассматривается как выражение else в моем сценарии bash?

    Как проверить, установлен ли каталог на диске X и монтировать его, если он не является

    Как использовать переменную для строки кода скрипта?

    Чувствительность к регистру в квадратных скобках

    Как отфильтровать некоторые файлы из моего каталога?

    Команда одиночной строки для протоколирования IP-адресов

    Почему вырезать провал с bash, а не zsh?

    Как вставить модифицированный загрузчик ELF, если присутствует текущий загрузчик ELF?

    Проверяет ли верхние системные файлы?

    Linux и Unix - лучшая ОС в мире.