Há quanto tempo meu sistema Linux está em execução?

Respostas:

66

uptime

Se você desejar em formato numérico, é o primeiro número em /proc/uptime(em segundos); portanto, a hora da última reinicialização é

date -d "$(</proc/uptime awk '{print $1}') seconds ago"

O tempo de atividade inclui o tempo gasto em um estado de baixa energia (espera, suspensão ou hibernação).

Gilles 'SO- parar de ser mau'
fonte
me diz exatamente o que eu quero. Eu lhe daria um +1 extra, se eu pudesse, para o bom cálculo de datas.
Octopus
28

Você pode usar uptimeoulast

Para ver apenas a última vez

last reboot -F | head -1 | awk '{print $5,$6,$7,$8,$9}'

mais genericamente

last reboot

Nota e aviso

The pseudo user reboot logs in each time the system is rebooted.  
Thus last reboot will show a log of all  reboots since the log file was created.
Hastur
fonte
deve-se verificar se isso funciona também para máquinas que estão em execução há mais de um ano, porque temo que o formato da data dependa de quão longe a data está (desde que o ano está faltando)
Walter Tross
@WalterTross Obrigado pelo aviso. É possível corrigir a -Fopção de adição, para que também imprima o ano.
Hastur
A saída é UTC :-(
guettli
21

Eu costumo usar who -b, o que produz resultados como:

$ who -b
         system boot  2014-05-06 22:47
$

Ele indica a data e a hora em que a máquina foi inicializada pela última vez, e não o tempo decorrido desde a última vez que foi inicializada.

Este comando também funciona em muitos outros sistemas Unix (Solaris,…).

Jonathan Leffler
fonte
Também é possível usar who -r(nível de execução) que produz uma saída semelhante run-level 2 2014-05-06 22:47a um número de palavras que não devem depender das configurações de idioma do local (por exemplo, "inicialização do sistema" 2 palavras, deve ser "Avvio di sistema" em italiano, 3 palavras)
Hastur
11
Isso parece estar no UTC (?), Embora a saída não diga isso.
Octopus
@ Octopus: No meu Mac, recebo resultados diferentes de TZ=US/Pacific who -be TZ=UTC0 who -b(testado no Mac OS X 10.9.5); da mesma forma no Linux (Ubuntu 14.04 testado). Isso significa que produz hora local, onde 'hora local' é determinada pela variável de ambiente TZ. (Se TZ é definida, ele provavelmente se comporta como se fosse TZ=UTC0menos que seja substituído por uma definição no /etc/defaultsou algo similar.)
Jonathan Leffler
Pois dateeu recebo "jue abr 12 12:54:51 -03 2018". Pois uptimeeu recebo "12:53:30 até 30 dias, 24 min ...". Para who -bobter "inicialização do sistema 1969-12-31 21:00"
dstonek 12/04/19
@dstonek: seu sistema estava rodando em 1969? Eu pensei que não ... isso significa que você provavelmente está recebendo um erro de alguma coisa e isso -1é traduzido para um tempo antes da 'época' do Unix. A saída varia de acordo com a localidade; você demonstrou isso.
Jonathan Leffler
2

Use tuptime , você obtém todas as informações necessárias, por exemplo:

$ tuptime -e
Startup:  1  at  08:03:58 10/08/15
Uptime:   6 hours, 56 minutes and 7 seconds
Shutdown: OK  at  15:00:05 10/08/15

Downtime: 17 hours, 8 minutes and 14 seconds

Startup:  2  at  08:08:20 11/08/15
Uptime:   6 hours, 51 minutes and 38 seconds
Shutdown: OK  at  14:59:58 11/08/15

Downtime: 17 hours, 7 minutes and 46 seconds

Startup:  3  at  08:07:45 12/08/15
Uptime:   6 hours, 50 minutes and 47 seconds
Shutdown: OK  at  14:58:32 12/08/15

Downtime: 17 hours, 5 minutes and 18 seconds

Startup:  4  at  08:03:51 13/08/15
Uptime:   6 hours, 55 minutes and 12 seconds
Shutdown: OK  at  14:59:03 13/08/15

Downtime: 17 hours, 14 minutes and 20 seconds

Startup:  5  at  08:13:24 14/08/15
Uptime:   1 hours, 28 minutes and 14 seconds

System startups:    5   since   08:03:58 10/08/15
System shutdowns:   4 ok   -   0 bad
Average uptime:     5 hours, 48 minutes and 24 seconds
Average downtime:   13 hours, 43 minutes and 7 seconds
Current uptime:     1 hours, 28 minutes and 14 seconds   since   08:13:24 14/08/15
Uptime rate:        29.74 %
Downtime rate:      70.26 %
System uptime:      1 days, 5 hours, 2 minutes and 1 seconds
System downtime:    2 days, 20 hours, 35 minutes and 39 seconds
System life:        4 days, 1 hours, 37 minutes and 40 seconds
Rfraile
fonte
0

Se procinfoestiver instalado, você também pode usar:

$ procinfo | grep Bootup
Bootup: Mon Sep 26 09:27:26 2016   Load average: 0.68 1.10 1.67 2/2783 4828

Você pode instalá-lo com sudo apt-get install procinfo

Suzana
fonte
0

Basta abrir um terminal e digite "top": leia na parte superior da tela o tempo de atividade.

user1098589
fonte
0

Com a uptimeimplementação da procps3.3.6 ou mais recente, isso fará perfeitamente o que você deseja:

$ uptime --since
2018-07-24 09:22:50
Berkant
fonte