Horário de Verão 2010/2011

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

[ Hits: 17.382 ]

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

Baixando, listando e limpando os pacotes órfãos

Fazendo Backup com Rsync

Musicando 2

SlackAcc

Script para compactar e descompactar arquivos


  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts