1. Como funciona a data/hora no Linux?
Nesse tutorial vou além de jogar comandos para o leitor e tentar explicar um pouco do complexo processo que existe por trás do reloginho do pingüim.
Existem dois principais sistemas de hora no Linux:
* O Relógio do Hardware: que roda independente de qualquer sistema e continua funcionando mesmo quando o pc está desligado. Esse relógio é comumente chamado de Relógio de Hardware, Relógio de Tempo Real, RTC (sigla em inglês para Real Time Clock), Relógio da BIOS e Relógio CMOS.
* O Relógio do Sistema: esse guarda a hora utilizando um relógio dentro do kernel do Linux e é comandado por uma interrupção especial chamada timer. Aqui o Relógio da BIOS é utilizado apenas pra marcar a data/hora quando o sistema não está ligado. No processo de boot essa data/hora armazenada na BIOS é lida e nunca mais requisitada até o próximo boot.
2. Manipulando Data/Hora de Sistema e de Hardware.
O comando date, bastante conhecido, informa a data e hora do sistema em diversos formatos especificados pelo usuário. Por exemplo, para imprimir a data e a hora com o mês por extenso o comando seria:
date +"%d de %B de %Y"
Note que concateno com "de" para produzir algo como: 31 de Outubro de 2005. Mais Exemplos:
$ date -s 10:00 (seta a hora para as 10:00)
$ date -s Qua (vira o dia para quarta-feira as 00:00)
$ date -s "11/01/2005 13:55" (ajusta data e hora de uma vez)
A data trazida pelo comando date é a data que o sistema tem controle, ou seja, o relógio de Sistema. Pode-se ajustar sua data e hora conforme necessário, porém a mesma não será mantida até o próximo boot, quando o sistema fará uma nova requisição ao relógio do Hardware para ajustar-se.
Ajustar a data/hora do sistema agora passa então a ser uma operação de duas etapas: na primeira atualizamos a data/hora do Sistema; na segunda sincronizamos essa hora definida no Sistema com aquela definida na BIOS.
Vejamos um exemplo onde queremos modificar a data do Sistema para 31 de Outubro de 2005 e atualizar na BIOS:
$ date -s 10/31/2005
Ok, agora precisamos fazer o hardware receber a hora setada no sistema:
$ clock -w.
clock é um link para hwclock e a opção -w faz exatamente o que queremos: usar a data/hora do sistema para atualizar a data/hora da BIOS. O contrário também é possível, podemos utilizar a data/hora da BIOS para setar nosso sistema, trocando a opção -w por -s. Isso é feito pelo sistema na inicialização.
Referência: Dicas-l
0 Comentários