As reinicializações são documentadas no diário do sistema em sistemas que usam systemd (por exemplo, RHEL 7, Fedora). Você pode procurá-los via:
# journalctl --list-boots
[..]
0 51545e9739db4eb1ab602dd338a937b1 Wed 2014-08-06 10:58:04 CEST—Mon 2014-08-18 22:31:43 CEST
Tradicionalmente, as reinicializações também são documentadas via wtmp, ou seja, você pode exibi-las com o comando last
:
# last
[..]
reboot system boot 3.11.10-301.fc20 Wed Jun 4 08:15 - 18:43 (10:27)
(Saída de um sistema Fedora 20)
A página man do Ubuntu para last
explica este mecanismo:
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 cre‐
ated.
(Dependendo da sua distribuição, o arquivo wtmp pode ser rotacionado durante um longo período de tempo, de modo que a última reinicialização não seja exibida)
Para receber notificações de reinicializações, você pode configurá-las indiretamente por meio de um cron job, por exemplo:
#!/bin/bash
set -e
set -u
uptime=$(awk '{print $1}' /proc/uptime)
if [ -f /var/tmp/last_uptime ]; then
last_uptime=$(cat /var/tmp/last_uptime)
if [ $uptime -lt $last_uptime ]; then
echo System was rebooted
exit 1
fi
fi
echo $uptime > /var/tmp/last_uptime
Como alternativa, você pode executar um comando de email como parte do processo de inicialização. Com systemd
pode ser feito assim:
# echo 'echo Just rebooted at $(date) | mail juser@example' >> /etc/rc.d/rc.local
# chmod 755 /etc/rc.d/rc.local
Outras distribuições que usam algo diferente de systemd podem executar /etc/rc.local
no final da seqüência de inicialização.