Comando hwclock – Trabalhando com o relógio de hardware da máquina – LPI 1
Comando hwclock – Trabalhando com o relógio de hardware da máquina
O comando hwclock é utilizado para consultar e configurar o relógio de hardware (RTC, Real Time Clock) do computador.
O relógio que é gerenciado pelo kernel do Linux não é o mesmo que o relógio de hardware da máquina. O relógio da máquina (de hardware) roda mesmo quando o computador está desligado.
O relógio de hardware também é chamado de relógio da BIOS. (BIOS Clock), CMOS Clock ou Relógio de Tempo Real, e pode ser consultado e configurado a partir da BIOS da máquina. Porém, quando o sistema Linux está em execução, podemos consultar e configurar esse relógio de hardware usando o comando hwclock.
Já a Hora do Sistema (System Time) é a hora mantida por um relógio dentro do kernel do Linux e controlada por uma interrupção de timer. Só tem significado quando o sistema está em execução. Trata-se do número de segundos desde as 00:00:00 de 01 de Janeiro de 1970 UTC, e é o relógio que interessa, pra valer.
Sintaxe:
hwclock [função] [opção]
Algumas das funções mais comuns são:
-r, –show
Lê o relógio de hardware e mostra o valor na saída padrão. A informação é mostrada sempre em horário local, mesmo que o relógio de hardware esteja configurado em UTC.
–set
Configura o relógio de hardware para a data e hora fornecidas com a opção –date
-s, –hctosys
Configura a hora do sistema (kernel) a partir do relógio de hardware. Também configura o valor do fuso horário (timezone) para o fuso local como indicado pela variável de ambiente TZ e/ou o arquivo /usr/share/zone-info. Essa opção é recomendada em scripts de inicialização.
-w, –systohc
Configura o relógio de hardware para o valor do relógio do sistema atual.
–adjust
Adiciona ou subtrai tempo do relógio de hardware.
–getepoch
Mostra o valor da época do relógio de hardware do kernel na saída padrão. Trata-se do número de anos AD no qual um valor de ano “zero” se refere no relógio de hardware.
–setepoch
Configura o valor de época do relógio de hardware do kernel para o valor especificado pela opção –epoch.
E a seguir algumas das opções mais utilizadas:
–date=DATA
Especifica a data e hora que serão usadas para configurar o relógio de hardware. O formato da data e hora deve ser como no exemplo:
hwclock --set --date=”2015-01-01 03:23:33”
–epoch=ANO
Especifica o ano o qual é o início da época do relógio de hardware, o qual é o número de anos AD (Anno Domini) ao qual um valor zero no contador de anos do relógio de hardware se refere.
-u, –utc
Indica que o relógio de hardware é mantido em Tempo Universal Coordenado (Universal Coordinated Time, UTC)
–localtime
Indica que o relógio de hardware é mantido em hora local.
Exemplos
Vamos a alguns exemplos de uso.
1. Mostrar a data e hora do relógio de tempo real – qualquer um dos três comandos a seguir executará a tarefa:
# hwclock # hwclock -r # hwclock --show
2. Configurar o relógio de hardware para usar a hora do sistema:
Vamos primeiramente verificar a hora do sistema e a hora do relógio de hardware:
# date # hwclock
Veja que em meu computador há uma diferença de dois minutos entre os horários. Agora, vamos ajustar o relógio de hardware para usar a mesma hora do sistema:
# hwclock --systohc
E depois, conferir se os horários foram sincronizados:
# date # hwclock
3. Ajustar a data e hora de hardware de forma manual.
# hwclock --set --date "01/22/2015 10:24"
4. Configurar a hora do sistema com o valor do relógio de hardware.
Vamos primeiramente verificar a hora do sistema e a hora do relógio de hardware:
# date # hwclock
Veja que em meu computador há uma diferença de seis minutos entre os horários. Agora, vamos ajustar a hora do sistema para usar a hora do relógio de hardware:
# hwclock --hctosys
E depois, conferir se os horários foram sincronizados:
# date # hwclock
5. Verificando o que ocorre durante o ajuste da hora com a opção –debug. Vamos executar o comando do exemplo #4 novamente, com a adição da opção –debug para que seja mostrada na saída padrão as tarefas realizadas durante o ajuste da hora:
# hwclock --hctosys --debug
É isso aí! Se ainda estiver em dúvidas, assista a um vídeo explicativo sobre o comando hwclock:
Escreva um comentário