Horário de Verão 2010/2011

Publicado por Tiago MDR (última atualização em 31/08/2010)

[ Hits: 17.924 ]

Download REDHAT_horariodeverao.sh




Este é MAIS um dos milhões de scripts de atualização para o horário de verão referente ao Brasil.

Este script está pronto para o horário de verão 2010/2011 considerando que, o inicio do tal, seja realmente no terceiro domingo de outubro e o final no terceiro domingo de fevereiro (segundo o decreto Nº 6.558, DE 8 DE SETEMBRO DE 2008).

Atenção 1: Ele esta pronto para o horário de verão referente a São Paulo, mas pode ser relativamente fácil de ser alterado.

Atenção 2: Ele foi testado em Fedora 10/11/12, Red Hat e CentOS. Não sei se funciona no Debian pois não tive tempo de testar este script nele, mas acredito que funcione. Lembre-se que no Debian a atualização do arquivo /etc/localtime é realizado via dpkg-reconfigure tzdata, que no final das contas é uma cópia do arquivo /usr/share/zoneinfo/<escolha uma zona> modificando o nome para localtime.

Enfim, estai ai o arquivo. E como sempre, utilizem por sua conta e risco.

  



Esconder código-fonte

#!/bin/bash
# Script para atualizacao do horario de verao
# -------------------------------------------------------------------------
# Teste realizado nos sistemas: Fedora Core 12 / CentOS 5.2 / Red Hat EL
# -------------------------------------------------------------------------
# Autor: Tiago M. De Rizzo
# -------------------------------------------------------------------------
# Ultima atualizacao: Agosto/23/2010
# -------------------------------------------------------------------------
# Utilizacao: chmod +x REDHAT_horariodeverao.sh 
#             ./REDHAT_horariodeverao.sh

#Ano de inicio e fim do horario de verao
ANO_IV="2010"
ANO_FV="2011"

#Mes de inicio e fim do horario de verao
MES_IV="Oct"
MES_FV="Feb"

#Mes de inicio e fim do horario de verao
DIA_IV="17"
DIA_FV="20"

#Caminho dos comandos utilizados
CP="/bin/cp"
ECHO="/bin/echo"
GREP="/bin/grep"
RM="/bin/rm"
TOUCH="/bin/touch"
ZDUMP="/usr/sbin/zdump"
ZIC="/usr/sbin/zic"

#Local do localtime
LT_ATUAL="/etc/localtime"
LT_BACKUP="/etc/localtime.original"

#Nome do arquivo zic
FILE_ZIC="verao.2010.zic"

#Caminho dos Timezones
PATH_ZONEINFO="/usr/share/zoneinfo/America"

#Arquivo TIMEZONE a ser atualizado
TZ_PCONT="America"
TZ_CCONT="Sao_Paulo"

#Caminho do arquivo a ser copiado apos a atualizacao realizada pelo arquivo zic
CP_TZ_ATUALIZADO="/usr/share/zoneinfo/America/Sao_Paulo"

$ECHO "DESEJA ATIVAR O HORARIO DE VERAO S/N?"
read RESPOSTA
if [ $RESPOSTA = "S" ]; then
   $ECHO "---------------------------------------------"
   $ECHO "REMOVENDO ARQUIVO $FILE_ZIC EXISTENTE"
   $RM $PATH_ZONEINFO/$FILE_ZIC
   $ECHO "---------------------------------------------"
   $ECHO "CRIANDO ARQUIVO DE HORARIO DE VERAO $FILE_ZIC"
   $TOUCH $PATH_ZONEINFO/$FILE_ZIC

   #Criacao do conteudo do arquivo zic
   $ECHO Rule\ Brazil\ $ANO_IV\ only\ -\ $MES_IV\ $DIA_IV\ 00:00\ 1\ \S >> $PATH_ZONEINFO/$FILE_ZIC
   $ECHO Rule\ Brazil\ $ANO_FV\ only\ -\ $MES_FV\ $DIA_FV\ 00:00\ 0\ \- >> $PATH_ZONEINFO/$FILE_ZIC
   $ECHO Zone\ $TZ_PCONT\/$TZ_CCONT\ \-3:00\ Brazil\ \BR%sT >> $PATH_ZONEINFO/$FILE_ZIC

   #Compilacao do arquivo zic
   $ZIC $PATH_ZONEINFO/$FILE_ZIC
   
   #Backup do localtime atual
   $CP $LT_ATUAL $LT_BACKUP
   
   #Copia conteudo do Zoneinfo alterado pelo atualizando o arquivo localtime atraves de substituicao
   $CP $PATH_ZONEINFO/$TZ_CCONT $LT_ATUAL
   $ECHO "---------------------------------------------"
   $ECHO "RESULTADO DA ALTERACAO DO TIMEZONE"
   $ZDUMP -v $LT_ATUAL |$GREP $ANO_IV

else
   $ECHO "---------------------------------------------"
   $ECHO "ATIVACAO CANCELADA"
   $ECHO "---------------------------------------------"
   $ECHO "TIMEZONE ATUAL"
   $ECHO "---------------------------------------------"
   $ZDUMP -v $LT_ATUAL
fi
exit 0

Scripts recomendados

Simulador do MS-DOS

Obtém fotos de uma Câmera Digital organizando em Subdiretórios e Renomeando

Download, instalação e atualização de utilitários para Ubuntu

Unrar no linux

Inserir tags ID3 em mp3


  

Comentários
[1] Comentário enviado por Molinero em 14/10/2010 - 14:14h

Testado em Slackware e Gentoo... tmb funciona na boa !

[2] Comentário enviado por thyaguvinny em 20/10/2010 - 11:41h

Debian tested! Great...

[3] Comentário enviado por ricardomoscou em 18/02/2011 - 00:46h

Obrigado pelo Script Tiago.

Agora uma pergunta: :-D

Esse script é tudo o que preciso para garantir a mudança do horário de verão de forma automática ou eu preciso inserir algum agendamento no cron?

Outra coisa:

Eu rodei o script e tudo ficou ok.
Eu errei em fazer isso na data de hoje (18/02/2011)?
Ou eu somente poderia rodar esse script as zero horas de domingo dia 20?

Como é a minha primeira vez com alteração no horário de verão, eu ainda tenho essas dúvidas. :-D

obrigado

RicardoMoscou!

[4] Comentário enviado por darlan.ti em 15/02/2013 - 13:16h

Cara, MUITO BOM! Parabens pra ti!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts