como logar as datas de reinicialização

1

Sou novo no Linux e sempre sou inseguro se estou fazendo as coisas da maneira correta Eu estou usando um sistema Raspbian que, por vezes, reinicia (para alguns problemas de software não) e eu quero ter um log quando cada reinicializações acontece. Minha ideia foi a seguinte: tarefa crontab como:

@reboot date >> /var/log/reboots

e funciona. Existe algo mais elegante? Se a solução for aceitável, existe alguma maneira de "rolar" o arquivo de log para evitar o preenchimento do sistema de arquivos de datas;)?

    
por Felice Pollano 05.07.2015 / 10:18

2 respostas

4

No Debian, as reinicializações são registradas. De man last :

Last searches back through the file /var/log/wtmp (or the  file  desig-
nated  by  the -f flag) and displays a list of all users logged in (and
out) since that file was created.
...
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.

O arquivo /var/log/wtmp já deve estar sob rotação de log por padrão (veja /etc/logrotate.conf ), cuidando disso.

Você pode usar arquivos de log mais antigos usando a opção -f :

last reboot -f /var/log/wtmp.1
    
por 05.07.2015 / 10:52
1

Uma entrada crontab está ok, mas requer que cron seja iniciado. Eu mesmo tenderia a colocar algo parecido com essa linha em /etc/rc.local , que é invocado no final de alcançar o nível de execução multiusuário.

Ambos podem não ser invocados se você iniciar (voluntariamente ou não) no modo de usuário único. Se isso não for preciso o suficiente, você pode querer olhar para um caminho diferente e analisar /var/log/syslog para bootmessages recentes e adicionar todos os carimbos de data e hora a um arquivo após o último que você gravou dessa forma. Você pode executar isso a partir de cron ou rc.local , mas assume que /var/log/syslog fica devidamente preservado entre as reinicializações.

Eu não me preocuparia com esta gravação de 30 caracteres na reinicialização, que não preencherá seu disco mais do que qualquer outra coisa. Se você realmente acha que é um problema, então apenas grave o mesmo usando 4 bytes (32 bits) como binário em um arquivo. Você poderia reduzir ainda mais diminuindo a precisão e, em seguida, armazenar algum delta entre as reinicializações.

    
por 05.07.2015 / 10:39