이 명령은 다른 Linux 배포판에서 동일한 출력을 반환합니까?

이 명령은 다른 Linux 배포판에서 동일한 출력을 반환합니까?

모니터링 스크립트를 작성 중입니다. 특정 컴퓨터에서 실행 중인데 작동합니다. 단일 배포판에 국한되지 않고 여러 Linux 시스템에서 실행될 예정입니다.

내가 수행하는 명령 및 관련 처리는 다음과 같습니다.
1) CPU 사용량:

top -bn 2 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}'
92%
93% 

두 값을 모두 기록합니다.

2) RAM 사용량

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 배포판이 있습니다(DistroWatch그 중 280개) 그리고 하나의 스크립트가 작동할 것이라는 보장은 없습니다.계속하다작업 - 다른 작업, 특히 POSIX가 아닌 옵션이나 플래그를 사용하는 경우.

명령의 출력에 의존하는 대신 /proc의사 파일 시스템에서 직접 데이터를 가져오는 것이 좋습니다.

관련 정보