Como obter o tempo de atividade do servidor AIX em segundos

Como obter o tempo de atividade do servidor AIX em segundos

No Linux, posso obter os resultados do tempo de atividade do servidor em segundos (valor) usando o comando abaixo

cat /proc/uptime

Mas no AIX, não temos uptimeno /proc. Se eu apenas digitar uptime, obtenho resultados em dias, horas, minutos, mas quero obter a saída apenas em segundos, como 86.400 segundos ou 30 segundos ou qualquer valor.

Com esta saída, desejo definir um alerta da ferramenta de monitoramento SCOM para criar alertas se for inferior a 1.800 segundos.

No SCOM, posso executar um comando shell.

Responder1

Você poderia se adaptarComo obter o tempo de atividade do processo em sistemas operacionais diferentes?para retornar os segundos decorridos do processo 1 (init) como uma aproximação bastante aproximada:

#!/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"

Responder2

Por favor, use abaixo de um forro.

tempo de atividade= 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}';se [ $tempo de atividade -lt 300 ]; então echo "Reinicializado antes de 300 minutos"; senão echo "OK"; fi

informação relacionada