Вход бесплатный и топ

Вход бесплатный и топ

Я хочу создать bash на своем сервере, чтобы регистрировать часть вывода "free" и "top" каждые 60 секунд. Я знаю, как настроить задание cron, но не имею ни малейшего представления, как получить вывод "free" и "top", проанализировать их и сохранить в файле (добавив его).

Например, когда я запускаю «top», я хотел бы сохранить только эту часть:

%ЦП: 18,2 мкс,

И когда я запускаю «free», я хочу сохранить только столбец «available» первой строки (Mem:).

Так как же мне сделать этот bash в Centos 7?

решение1

Если вы хотите осуществлять мониторинг каждую минуту, я бы рекомендовал использовать среднюю загрузку ЦП вместо текущего использования.

cat /proc/loadavg | awk '{print "Load last minute:", $1}'

Эта строка покажет вам среднюю загрузку ЦП за последнюю минуту, что точнее, чем % использования ЦП, поскольку у вас может быть пик в 100% и вы сможете сохранить его, даже если средняя загрузка будет намного меньше.

решение2

С использованием awk:

top -n 1 | awk '/^%Cpu\(s\)/ {print "%Cpu(s)", $2, "us"}'
free | awk '/^Mem:/ {print $7}'

Связанный контент