Как я могу добавить метку времени в мой скрипт, используя команду linux free (free | grep mem | awk '{print $ 4 / $ 2 * 100.0}') - PullRequest
0 голосов
/ 20 декабря 2018

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

Это сценарий, который я использую, и хочу добавить метку времени в выходной файл ихотите иметь возможность добавлять записи в один и тот же файл снова и снова.Я также должен был бы видеть метку времени для каждой записи.

free | grep mem | awk '{print $4/$2 * 100.0}' > free.txt

free | grep mem | awk '{print $4/$2 * 100.0}' > free.txt

Результатом сценария в настоящее время является то, что я могу сохранить выходные данные одного запроса, но у него нет метки времени, и я не знаю, как сделать его повторяющимся выводом в тот же файл для определенногоколичество времени.В идеале я бы заставлял скрипт запускаться с 5-минутными интервалами в течение недели, а затем запускал новый файл.Я не уверен, возможно ли это вообще.Конечный результат будет отображать список процентов свободной памяти за всю неделю, поэтому я мог видеть тенденции использования памяти и отслеживать переподписку памяти.

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018
(date "+%c" | tr -d '\n'; free | awk '/^Mem:/ {print " ", ($4/$2 * 100.0}') > free.txt

Или что угодно.Я ненавижу тр, но это самый лучший способ избавиться от новичков.Другие форматы времени можно найти в справочных страницах даты (конечно, не в Mac).В этом случае, Google google.

Также вам не нужен grep, и вы в любом случае выполняете поиск с учетом регистра, что плохо, поскольку вывод free обычно создает /^Mem:.*$ /

0 голосов
/ 20 декабря 2018

Вы могли бы предположительно использовать цикл с таймером сна, но я бы порекомендовал использовать для этого задание cron.Поместите следующее в скрипт оболочки и запускайте его через cron каждые 5 минут.

( echo -ne "$( date -Iseconds)\t"; free | awk '/Mem/{print $4/$2 * 100.0}' ) >> free.tx
...