Pular para o conteúdo

Acertando a hora da estação com o Observatório Nacional

Este script acerta a hora da estação com o Observatório Nacional (hora oficial do Brasil), levando em conta se há conexão com a internet e também se a cidade está no horário de verão. Foi baseado no script do nosso colega Cleber Andrade que está aqui no VOL. Espero que ajude.
França AndreFranca
Hits: 7.932 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Este script acerta a hora da estação com o Observatório Nacional (hora oficial do Brasil), levando em conta se há conexão com a internet e também se a cidade está no horário de verão. Foi baseado no script do nosso colega Cleber Andrade que está aqui no VOL. Espero que ajude.
Download acerta-hora.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash
# ----------------------------------------------------------------
#
# Criado por: França (franca.gnulinux@gmail.com)
# Baseado no script de Cleber Andrade
#
# Data de criação: 05/12/2006
#
# Nome: acerta-hora.sh
#
# Objetivo: sincronizar a hora da máquina com a hora do
#           Observatorio Nacional, checando se a máquina
#           está na internet e se a cidade está no horário
#           de verão!!
#
# Obs1: tem que rodar como root
# Obs2: caso sua cidade esteja no horário de verão, defina
#       a variável VERAO para 1, caso contrário pra 0.
#
# ----------------------------------------------------------------

if ping -c 1 www.uol.com.br >/tmp/ping; then
        VERAO=1
        LINHA=`lynx -dump http://pcdsh01.on.br/ispy.asp |grep Bras |tr -s ' '|cut -f 4,3 -d\ `
        if [ $? -eq 0 ]; then
                DD=`echo $LINHA | cut -f1 -d "/"`
                [ $DD -lt 10 ] && DD="0$DD"
                MM=`echo $LINHA | cut -f2 -d "/"`
                [ $MM -lt 10 ] && MM="0$MM"
                YY=`echo $LINHA | cut -f3 -d "/" | cut -f1 -d " " | cut -b3-4`
                CC=`echo $LINHA | cut -f3 -d "/" | cut -f1 -d " " | cut -b1-2`
                hhmm=`echo $LINHA | cut -f2 -d " " | cut -f1,2 -d ":" --output-delimiter="" `
                ss=`echo $LINHA | cut -f3 -d: `

                if [ $VERAO -eq 1 ]; then
                        if [ $hhmm -lt 100 ]; then
                                hhmm=`expr $hhmm + 2300`
                        else
                                if [ $hhmm -lt 1000 ]; then
                                        hhmm="0`expr $hhmm - 100`"
                                else
                                        hhmm=`expr $hhmm - 100`
                                fi
                        fi
                fi

                echo "Data/hora ajustada com sucesso!!"
                echo
                date "$MM$DD$hhmm$YY.$ss"
                echo
                rm /tmp/ping
        else
                echo "ERRO: Nao foi possivel atualizar a hora; relogio nao atualizado."
        fi
else
        rm /tmp/ping
        echo "Internet não conectada. Se conecte e em seguida execute novamente este script!"
fi

Utilitario de montagem

Eu vejo gente morta. Descubra se alguém já morreu!

tradcon

Script para apagar CD-RW com barra de progresso em Xdialog

Script de instalação para Firefox e Thunderbird - new release

#1 Comentário enviado por albertguedes em 16/12/2006 - 11:39h
Muito bom o script, mas se você me permite, precisa comentar mais, principalmente aqui no VOL, porque muita gente tá aprendendo a programar em shell, e um script bem comentado fica mais didático para os iniciantes, certo ?
Mas de resto, parabéns.
#2 Comentário enviado por AndreFranca em 16/12/2006 - 14:46h
Ok amigão... este foi meu primeiro script publicado, garanto que os próximos serão mais comentados!!!
vlw!!

Contribuir com comentário

Entre na sua conta para comentar.