AIXサーバーの結果に対してサーバーの稼働時間を秒単位で取得する方法

AIXサーバーの結果に対してサーバーの稼働時間を秒単位で取得する方法

Linuxでは、次のコマンドを使用して数秒以内にサーバーの稼働時間の結果(値)を取得できます。

cat /proc/uptime

uptimeしかし、AIXでは/proc。を入力すると、uptime日、時間、分単位で結果が得られますが、86400秒や30秒などの秒単位で出力したいです。

この出力を使用して、1800秒未満が経過したときにアラームを生成するようにSCOMモニタリングツールでアラームを設定したいと思います。

SCOM でシェルコマンドを実行できます。

ベストアンサー1

あなたは適応できますさまざまなオペレーティングシステムでプロセスの稼働時間を取得する方法は?プロセス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"

おすすめ記事