Você pode invocar diretamente
last reboot
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.
fornece também a hora a partir da qual inicia o arquivo de log ( /var/log/wtmp
).
Se você também está interessado no passado, normalmente há um ou mais arquivos armazenados com registros anteriores ( /var/log/wtmp.1
) ...
Abaixo, um pequeno script de exemplo para contar o número de reinicializações e falhas em um dia.
Você pode executá-lo com /bin/bash Myscript.sh
para obter os resultados de hoje
ou /bin/bash Myscript.sh "Tue May 20"
para ter resultados para o 20 de maio
#!/bin/bash
Today='date'
StrDay=${1:-${Today:0:10}}
N_Crash='last -F |grep crash | grep "$StrDay" | sort -k 7 -u | wc -l'
N_Reboot='last -F | grep reboot | grep "$StrDay" | wc -l '
echo "# Today $Today Report for crash and reboot on $StrDay "
echo "# Crashes $N_Crash"
echo "# Reboot $N_Reboot"
Notas:
com reboot você tem poucos problemas porque há uma linha cada vez que você reinicia.
Essa contagem de falhas é apenas indicativa: você pode ter várias linhas (por exemplo, uma para cada shell) em caso de falha. Ainda mais, se a falha não for abrupta, você pode ter tempos diferentes para a mesma falha (talvez um segundo ou um minuto, se estiver no limite). Além disso, mesmo que isso seja mais raro, você pode fazer um crash shell sem um crash do sistema. A opção de classificação tenta matar as linhas duplicadas ao mesmo tempo. Para ter um resultado correto, você deve contar como reinicializar apenas as linhas de reinicialização, sem travar entre e como travar a reinicialização com uma falha antes.