![AIX 서버의 서버 가동 시간을 몇 초 안에 얻는 방법](https://rvso.com/image/170273/AIX%20%EC%84%9C%EB%B2%84%EC%9D%98%20%EC%84%9C%EB%B2%84%20%EA%B0%80%EB%8F%99%20%EC%8B%9C%EA%B0%84%EC%9D%84%20%EB%AA%87%20%EC%B4%88%20%EC%95%88%EC%97%90%20%EC%96%BB%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
Linux에서는 아래 명령을 사용하여 서버 가동 시간 결과를 초(값) 단위로 얻을 수 있습니다.
cat /proc/uptime
그러나 AIX uptime
에는 /proc
. 을 입력하면 uptime
일, 시간, 분 단위로 결과를 얻을 수 있지만 86400초, 30초 또는 임의의 값과 같이 초 단위로만 출력을 얻고 싶습니다.
이 출력을 사용하여 SCOM 모니터링 도구에서 1800초 미만인 경우 경고를 생성하도록 경고를 설정하고 싶습니다.
SCOM에서 셸 명령을 실행할 수 있습니다.
답변1
당신은 적응할 수 있습니다다른 OS에서 프로세스 가동 시간을 얻는 방법은 무엇입니까?프로세스 1(init)의 경과 시간(초)을 매우 가까운 근사치로 반환하려면 다음을 수행하세요.
#!/bin/sh
t=$(LC_ALL=POSIX ps -o etime= -p 1)
d=0 h=0
case $t in *-*) d=$((0 + ${t%%-*})); t=${t#*-};; esac
case $t in *:*:*) h=$((0 + ${t%%:*})); t=${t#*:};; esac
s=$((10#$d*86400 + 10#$h*3600 + 10#${t%%:*}*60 + 10#${t#*:}))
printf '%d\n' "$s"
답변2
아래의 라이너를 사용해주세요..
가동시간= uptime | awk -F ',' ' {print $1" "$2}'|awk ' {print $3" "$4" "$5}' | sed '1,$s/:/ /' | awk ' {if ($4 =="users") print $1*60 + $2;else if ($4 =="user") print $1*60 + $2;else if ($2=="mins") print $1;else print $1*24*60 + $3*60 + $4}'
;if [ $uptime -lt 300 ]; 그런 다음 echo "300분 전에 재부팅되었습니다."; 그렇지 않으면 "확인"을 에코합니다. fi