Se o sistema não tem como saber a hora, a única coisa que você pode fazer é tentar salvar a data e hora no desligamento e recarregar na reinicialização (como sugerido).
Warning : As seguintes instruções devem funcionar com um sistema init do tipo SystemV: Eu não testei (estou em uma máquina com Windows agora), então você tem que testá-las e levá-las com um pouco de sal --- poderia haver erros de digitação.
Warning2 Eu acho que o upstart (a implementação moderna do Ubuntu dos scripts init) o respeita, mas sua milhagem pode variar: teste e experimentos são necessários. Você pode começar de aqui se você quiser fazê-lo de uma maneira mais chique.
Para salvar a data no desligamento / reinicialização, você pode adicionar um script ao diretório /etc/rc0.d
e /etc/rc6.d
(o primeiro usado para o desligamento e o segundo para a reinicialização). A maneira normal de fazer isso é criar o script em /etc/init.d
e vincular o script a partir dele.
Todos os comandos a seguir devem ser emitidos como root. Use o seu método preferido ...
Você pode criar um script /etc/init.d/savedatetime
com seu editor favorito e o conteúdo:
#!/bin/sh
date +%m%d%H%M%Y.%S > /root/lastseendate.txt
torne-o executável e vincule-o (o formato date
é aquele que a data é capaz de ler, ver man date
).
chmod +x /etc/init.d/savedatetime
cd /etc/rc0.d/
ln -s ../init.d/savedatetime K99savedatetime
cd /etc/rc6.d/
ln -s ../init.d/savedatetime K99savedatetime
O K99
deve tornar este script o último executado antes do encerramento ou reinicialização. Se o relógio é mantido através de uma reinicialização e você quer fazer isso apenas no desligamento, simplesmente pule os dois últimos comandos.
Então, na reinicialização, você quer ler o arquivo. Há muito lugar onde colocá-lo, o mais fácil é /etc/rc.local
.
Edite e coloque perto do início:
[ -f /root/lastseendate.txt ] && date $(cat /root/lastseendate.txt)
rm -f /root/lastseendate.txt
... e deveria ser isso. Hacker feliz!