Hora Certa
Publicado por Rogerio Lemos de Figueiredo 21/03/2007 (última atualização em 22/03/2010)
[ Hits: 13.588 ]
Download 1268929051.horacerta.sh (versão 2)
Este script tem como finalidade sincronizar o horário da máquina com o horário disponibilizado pelo site http://www.horacerta.com.br.
Ele serve como uma alternativa para manter o horário da máquina correto, seja um servidor ou uma estação. É minha primeira contribuição para a comunidade, espero que seja útil para vocês.
Versão 2 - Enviado por Luís Eduardo Porte em 18/03/2010
Changelog: Este script tem como finalidade sincronizar o horário da máquina com o horário disponibilizado pelo site http://www.horacerta.com.br.
Ele serve como uma alternativa para manter o horário da máquina correto, seja um servidor ou uma estação.
Minha primeira participação ja começa com a atualização de um script!!!!!
Não esqueça de verificar o nome das cidades no site para modificar em:
## Declaração da variável referente ao horario da cidade desejada
cidade="sao_paulo"
Download 1268929051.horacerta.sh
#!/bin/bash
## Este script tem como finalidade sincronizar o horario do servidor
## com o horario disponibilizado pelo site http://www.horacerta.com.br
## Para automatizar o procedimento basta incluir este script na crontab
## do root no servidor desejado.
## As informações referente à execução do script são enviadas
## para a saída padrão
## Autor: Rogerio rlfigueiredo@gmail.com
## data: 26.02.2007
## Declaração da variável referente ao horario da cidade desejada
cidade="Sao_Paulo"
## Declaração da variável referente ao arquivo temporario
## onde os dados da pagina serão baixados
arqtemp="/tmp/horacerta"
## Executa o download do arquivo contendo data e hora
wget http://www.horacerta.com.br/cgi-bin/horacerta.cgi?cidade=$cidade -O $arqtemp
## Executa um filtro no arquivo baixado criando uma variável
## com os dados necessários para efetuar o ajuste
fonte=`cat /tmp/horacerta | awk -F "name=\"mostrador\"" '{print $2}' | awk -F "value=" '{print $2}' | awk -F "\"" '{print $2}'`
## Verifica se a variável $fonte é vazia
## se sim o script aborta sua execução e o horário não é atualizado
if [ -z "$fonte" ];then
echo "Arquivo de origem vazio"
exit 0
fi
## Filtra a data com base na variável $fonte
data=`echo $fonte | awk '{print $1}'`
## Filtra a hora com base na variável $fonte
horario=`echo $fonte | awk '{print $3}'`
## Filtra o período (AM/PM) com base na variável $fonte
ampm=`echo $fonte | awk '{print $4}'`
## Filtra dia mes e ano com base na variável $data
dia=`echo $data | awk -F "/" '{print $1}'`
mes=`echo $data | awk -F "/" '{print $2}'`
ano=`echo $data | awk -F "/" '{print $3}'`
## Filtra hora minuto e segundo com base na variável $horario
hora=`echo $horario | awk -F ":" '{print $1}'`
minuto=`echo $horario | awk -F ":" '{print $2}'`
segundo=`echo $horario | awk -F ":" '{print $3}'`
## Converte a sigla do mês para numérico
case $mes in
jan) mes=01 ;;
fev) mes=02 ;;
mar) mes=03 ;;
abr) mes=04 ;;
mai) mes=05 ;;
jun) mes=06 ;;
jul) mes=07 ;;
ago) mes=08 ;;
set) mes=09 ;;
out) mes=10 ;;
nov) mes=11 ;;
dez) mes=12 ;;
esac
## Acerta os dias menores que 10
if [ $dia -le 10 ] ; then
dia=0$dia
fi
## Converte a hora para o padrão correto de acordo com
## o período correto
if [ $ampm == "PM" ] && [ $hora != "12" ] ; then
for ((i=1,j=13 ; $i <= 11 ; i=$i+1, j=$j+1 )) ;do
if [ $i -le 9 ];then
horacerta="0$i"
#echo "$horacerta"
else
horacerta="$i"
#echo "$horacerta"
fi
if [ $hora == $horacerta ];then
case $horacerta in
01) horacerta=$j ;;
02) horacerta=$j ;;
03) horacerta=$j ;;
04) horacerta=$j ;;
05) horacerta=$j ;;
06) horacerta=$j ;;
07) horacerta=$j ;;
08) horacerta=$j ;;
09) horacerta=$j ;;
10) horacerta=$j ;;
11) horacerta=$j ;;
esac
echo $horacerta
hora=$horacerta
fi
done
elif [ $ampm == "AM" ] && [ $hora == "12" ] ; then
hora="00"
fi
## Exibe a diferença entre a hora do servidor local
## e a hora obtida do site
echo "###########################"
echo "Site : $mes$dia$hora$minuto$ano.$segundo"
echo "Local: `date +%m%d%H%M%Y.%S`"
echo "###########################"
## Verifica se a hora local e a hora obtida do site são diferentes
## se sim atualiza o horário local com base nas informações obtidas
## do site
if [ "$mes$dia$hora$minuto$ano" != "`date +%m%d%H%M%Y`" ] ;then
echo "diferentes acertando..."
date $mes$dia$hora$minuto$ano.$segundo
fi
Script Backup ultimo arquivo criado em um diretorio feito TAR direto para DAT
Instalação do LAMP no Linux Ubuntu
Faz uma busca no OpenSubtitles por um filme.
ARSPDF - Programa para manipular arquivos PDF
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
ERRO: LAZARUS 4.2 64 no Linux MINT não entra mais apos ajustar desktop... (0)
Pergunta: Meu teclado não está respondendo direito como e consertar? (2)
Secure boot, artigo interessante, nada técnico. (6)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)









