Eu descobri a minha resposta; mas requer o uso de systemd .
Pode-se habilitar o registro de diário persistente criando /var/log/journald/ ; depois de feito isso, é possível visualizar logs de longo prazo usando journalctl .
Como você salva o /var/log/boot.log entre as reinicializações? Ou, mais especificamente, como você pode apenas ter botas anexadas a esse arquivo? Eu tenho um problema com um kernel que estou executando e preciso ser capaz de preservar o boot.log quando eu inicializo em um kernel funcional.
Não há nenhuma maneira oficial de fazer isso que eu já vi usando rsyslogd ou logrotate . Uma maneira fácil de fazer isso, no entanto, é criar uma entrada @reboot crontab que possa fazer o backup do arquivo boot.log antes da reinicialização.
Adicione o seguinte ao arquivo /etc/crontab do seu sistema.
@reboot cp -p /var/log/boot.log /var/log/boot.log.$(date +%F_%R)
Isso criará arquivos assim nomeados em /var/log/ .
Os carimbos de hora / data no arquivo quando ls -l desses arquivos serão as informações originais. O cp -p preservará isso.
Essa abordagem vai acumular arquivos com você ao longo do tempo, então você pode querer apenas dizer os últimos 10 ou mais. Você pode adicionar mais regras @reboot , diga algo assim para também cortar esses arquivos.
@reboot [[ $(ls -1r /var/log/boot.log.* | wc -l) -gt 10 ]] \
&& ls -1r /var/log/boot.log.* | tail -n +10 | xargs rm
O acima irá verificar se temos mais de 10 boot.log.* para começar. Se fizermos isso, listará os arquivos na ordem inversa do tempo de criação, filtrará os 10 mais recentes e excluirá o restante.
Este bit retornará o número de boot.log.* presentes no momento.
$(ls -1r /var/log/boot.log.* | wc -l)
Isto irá verificar se esse número é maior que 10.
[[ $(...) -gt 10 ]]
Se houver mais de 10 arquivos, então chamaremos o comando remove.
.... && ls -1r /var/log/boot.log.* ... xargs rm