%3A%20guardar%20la%20memoria%20impresa%20en%20un%20archivo%20de%20texto%20siempre%20aparece%20en%20blanco.png)
En mi CentOS, estoy intentando imprimir los números de salida de USO de CPU y MEMORIA LIBRE en un archivo de texto. Pero cuando escribo en la terminal, todo está bien. Pero cuando se ejecuta a través de la crontab
salida MEMORIA siempre está en blanco.
Escribiendo manualmente en la terminal:
# echo CPU: `top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'`, RAM: `awk '/^Mem/ {print $4}' <(free -m)` >> ~/stats.txt
# cat ~/stats.txt
CPU: 3.8, RAM: 1307
Mismo comando en Crontab:
*/10 * * * * echo CPU: `top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'`, RAM: `awk '/^Mem/ {print $4}' <(free -m)` >> ~/stats.txt
Luego dentro del archivo de texto:
# cat ~/stats.txt
CPU: 3.4, RAM:
CPU: 4.1, RAM:
CPU: 3.9, RAM:
Porque es elRAM¿La salida siempre está en blanco, por favor?
Respuesta1
Porque dash
no entiende este tipo de bashismo:
<(free -m)
En su lugar, utilice:
free -m | awk '/^Mem/ {print $4}'