obtendo tempo de atividade em semanas, dias, horas, minutos

5

Basicamente eu uso um conky para ssh em uma caixa de tv android e obter o tempo de atividade e exibi-lo na tela conky.

Eu tenho isso até agora, encontrado na net e hackeado por mim, mas funciona, por favor, emendar se a sua porcaria

uptime | awk -F'( |,|:)+' '{print int($6/7),"weeks",$8,"hours,",$9,"minutes."}'

e mostra

4 weeks 1 hour 1 minute

Como obtenho

4 weeks **1 day** 1 hour 1 minute
    
por not_Rich 25.09.2017 / 21:48

1 resposta

10

Como você marcou sua pergunta com Ubuntu , abaixo é suficiente.

$ uptime -p
up 4 weeks, 1 day, 1 hour, 1 minute

veja tempo de atividade do homem para o Ubuntu.

-p, --pretty
      show uptime in pretty format

Ou com seu próprio script:

awk -F'( |,|:)+' '{
    printf("%dweeks, %.fdays, %dhours, %dminutes\n", 
           $5/7, ($5/7-int($5/7))/0.143+.05, $7, $8)
}' <(uptime)

A cada dia ~ = 0,143 semana, e dividimos o resultado em 0.143 para obter dias, em seguida adicionamos 0.5 e com printf .f controle ele arredondará para o próximo número inteiro (faz como Ceil função).

Pode ser necessário alterar $5 , $7 e $8 com $6 , $8 e $9 .

    
por 25.09.2017 / 22:13