모니터링 스크립트를 작성 중입니다. 특정 컴퓨터에서 실행 중인데 작동합니다. 단일 배포판에 묶이지 않고 여러 Linux 시스템에서 실행될 계획입니다.
내가 수행한 명령 및 관련 처리는 다음과 같습니다.
1) CPU 사용량:
top -bn 2 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}'
92%
93%
두 값을 모두 기록했습니다.
2) 메모리 사용량
free -m
_____total used free shared buff/cache available <br>
Mem 3791 1183 875 16 1732 2326 <br>
Swap 3071 0 3071
사용된 메모리 및 스왑 공간/전체 기록
3) 디스크 사용량:
df
(각각 총 1024비트 블록 수와 사용된 블록 수인 열 2와 3을 유지하세요.)
1K_blocks used_blocks
27740944 1996820
1931168 0
1941352 0
1941352 16904
1941352 0
508588 151576
388272 0
전체 디스크 공간을 얻기 위해 두 열의 합계를 비교합니다.
4) 가동 시간:
PS C:\> invoke-sshcommand -ComputerName $ip {uptime}
09:39:01 up 13 days, 21:37, 1 user, load average: 0,00, 0,01, 0,05
문자열을 자르고 유용한 데이터를 기록하십시오.
이 명령은 Linux 배포판에 관계없이 정확히 동일한 형식의 출력을 제공합니까? 보다 일반적으로 명령 + 데이터 처리는 모든 배포판에서 여전히 작동합니까?
답변1
이 명령은 Linux 배포판에 관계없이 정확히 동일한 형식의 출력을 제공합니까?
그럴 수도 있지만 확신할 수는 없습니다.
수백 개의 Linux 배포판이 있습니다(출시 시계총 280개), 스크립트용으로 작성된 스크립트가 작동할 것이라고 보장할 수 없습니다.계속하다작업 - 특히 POSIX가 아닌 옵션이나 플래그를 사용하는 경우 다른 작업보다 우선합니다.
/proc
당신이 해야 할 일은 명령의 출력에 의존하는 대신 의사 파일 시스템에서 직접 데이터를 가져오는 것입니다.