Inicia sesión gratis y arriba

Inicia sesión gratis y arriba

Quiero crear un bash en mi servidor para registrar una parte de la salida de "gratis" y "superior" cada 60 segundos. Sé cómo configurar el trabajo cron pero no tengo idea de cómo obtener el resultado de "gratis" y "superior" y analizarlos y guardarlos en un archivo (adjuntándolo).

Por ejemplo, cuando ejecuto "arriba" me gustaría guardar sólo la parte como esta:

%Cpu(s): 18,2 nosotros,

Y cuando ejecuto "gratis" solo quiero guardar la columna "disponible" de la primera línea (Mem:).

Entonces, ¿cómo hago ese bash en centos 7?

Respuesta1

Si desea monitorear cada minuto, recomendaría usar el promedio de carga de la CPU en lugar del uso actual.

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

Esta línea le brindará el uso promedio de CPU en el último minuto, que es más preciso que el % de CPU usado porque puede tener un pico del 100 % y guardarlo incluso si su utilización promedio es mucho menor.

Respuesta2

Usando awk:

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

información relacionada