내 CentOS에서 CPU 사용량과 사용 가능한 메모리 출력 수치를 텍스트 파일로 인쇄하려고 합니다. 하지만 터미널에 입력하면 모든 것이 정상입니다. 그러나 MEMORY 출력을 통해 실행될 때는 crontab
항상 비어 있습니다 .
터미널에 수동으로 입력하세요:
# 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
Crontab에서 동일한 명령:
*/10 * * * * 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.4, RAM:
CPU: 4.1, RAM:
CPU: 3.9, RAM:
왜?메모리출력이 항상 비어 있습니까?
답변1
dash
나는 이 굴욕을 이해하지 못하기 때문에 :
<(free -m)
대신 다음을 사용하세요.
free -m | awk '/^Mem/ {print $4}'