Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

PHP CONFERENCE

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Horário de Verão - 2008

Colaboração: Smailli Hemori Moraes

Data de Publicação: 26 de September de 2008

Todos aqui no Brasil sabemos que o horário de verão não obedece um dia fixo para inicio ou fim e é por isso que todo ano temos que gerar um novo /etc/localtime com as informações de horário de verão do ano em questão.

Agora se você esta cansado de todo ano ser a mesma coisa.

Cria arquivo texto, cria o binario com o zic, copia para /etc...

É só utilizar o script abaixo.

  #!/bin/bash
  
  ANO_INICIO="2008" #Ano que inicia o Horario de verao
  ANO_FIM="2009" #Ano que finaliza o Horario de verao
  DIA_INICIO="Oct 19" #Mes (abreviado em Ingles) e dia que inicia o horário de verão
  DIA_FIM="Feb 15" #Mes (abreviado em Ingles) e dia que finaliza o horário de verão
  
  RM=/bin/rm
  CP=/bin/cp
  BIN=/usr/sbin/zic
  ZDUMP=/usr/sbin/zdump
  MD5BIN=/usr/bin/md5sum
  SERVICE=/sbin/service
  ZIC=/usr/share/zoneinfo/Brazil/verao.$ANO_INICIO-$ANO_FIM.zic
  EAST=/usr/share/zoneinfo/Brazil/East
  LOCALTIME=/etc/localtime
  
  echo -ne "\nVerificando a existencia do programa $BIN"
  if [ -x $BIN ] ; then
        echo -ne "\t\t\t\t\E[32m[ OK ]\n" ; tput sgr0
  else
        echo -ne "\t\t\t\t\E[31m[ERRO]\n" ; tput sgr0
        exit
  fi
  
  echo -ne "\nCriando o arquivo de configurações do horário de verão $ANO_INICIO-$ANO_FIM"
  cat > $ZIC << EOF
  Rule Brazil $ANO_INICIO only - $DIA_INICIO 00:00 1 S
  Rule Brazil $ANO_FIM only - $DIA_FIM 00:00 0 -
  
  Zone Brazil/East -3:00 Brazil BR%sT
  EOF
  
  SAIDA=$?
  
  if [ $SAIDA = 0 ] ;then
        echo -ne "\t\t\E[32m[ OK ]\n" ; tput sgr0
  else
        echo -ne "\t\t\E[31m[ERRO]\n" ; tput sgr0
        exit
  fi
  
  echo -ne "\nCriando o binário com as informações do horário de verão $ANO_INICIO-$ANO_FIM"
  
  if $BIN $ZIC ;then
        echo -ne "\t\t\E[32m[ OK ]\n" ; tput sgr0
  else
        echo -ne "\t\t\E[31m[ERRO]\n" ; tput sgr0
        exit
  fi
  
  echo -ne "\nRemovendo informações do horário de verão antigo"
  
  if $RM $LOCALTIME ;then
        echo -ne "\t\t\t\t\E[32m[ OK ]\n" ; tput sgr0
  else
        echo -ne "\t\t\t\t\E[31m[ERRO]\n" ; tput sgr0
        exit
  fi
  
  echo -ne "\nAtivando as configurações para o horário de verão $ANO_INICIO-$ANO_FIM"
  
  if $CP $EAST $LOCALTIME ;then
        echo -ne "\t\t\t\E[32m[ OK ]\n" ; tput sgr0
  else
        echo -ne "\t\t\t\E[31m[ERRO]\n" ; tput sgr0
        exit
  fi
  
  echo -ne "\nVerificando o status da ativação"
  
  GREP=`echo $ANO_INICIO | cut -c 4``echo $ANO_FIM | cut -c 4`
  DUMP=`zdump -v Brazil/East |grep 200[$GREP] | wc -l`
  
  if [ "$DUMP" == "4" ] ; then
        echo -ne "\t\t\t\t\t\t\E[32m[ OK ]\n" ; tput sgr0
  else
        echo -ne "\t\t\t\t\t\t\E[31m[ERRO]\n" ; tput sgr0
        exit
  fi
  
  echo -ne "\nReiniciando o crontab\n\n"
  
  $SERVICE crond restart

Então é só criar o script acima, alterar as variáveis ANO_INICIO, ANO_FIM, DIA_INICIO e DIA_FIM conforme o exemplo do horário de verão desse ano rodar o script em seus servidores e estações e ir tomar uma cerveja para comemorar.

Lembrando que esse script foi homologado para sistemas baseados em Red Hat mas deve funcionar em outros com a modificação das variáveis dos binários ou sem modificação de nada.

Veja a relação completa dos artigos de Smailli Hemori Moraes

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato PDF
Newsfeed RSS
Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (468 votos)

Opinião dos Leitores

Talita e Bárbara
04 Nov 2008, 15:40
Olá...É muito interessante esse assunto..Gostei muito mesmoo...É bom saber sobre o Horário de Verão..!!!]

TaLy..Brigada pelas Informaçoes..Abraços..

_________________________________________
Olá...É muito legal saber sobre o horário
de verão saber sobre noticias legais cada vez mais...adorei mesmo Obrigada abraços.Muito Grata:

BÁRBARA...
Orsi
04 Nov 2008, 13:51
O Decreto 6.558 de 08/09/2008 fixou o início e fim do horário de verão para o Brasil a partir de 2008. Assim para quem é usuário do Windows a entrada e saída do horário de verão deixará de ser problema. Basta atualizar o Windows.
Luciana
21 Out 2008, 00:24
Legal, mas não é mais fácil clicar com o botão esquerdo no relógio e alterar a hora? Não é a mesma coisa? Bem fiz assim e meu crontab está ok...
Até pessoal.
Max
15 Out 2008, 18:10
Ricardo
Tente tirar os espaços das linhas, isso eh um problema na formatação do arquivo... provavelmente vc copiou e colou com os espaços.
Moraes parabens pelo script... vai ajudar muita gente !!!
Abraços
Ricardo
13 Out 2008, 10:09
Estou tendo o seguinte problema no Fedora Core 8, alguém poderia me ajudar?

[root@oriba ~]# sh horario_verao.sh

Verificando a existencia do programa /usr/sbin/zic [ OK ]

Criando o arquivo de configurações do horário de verão 2008-2009grep: [ ou [^ descasados




Obrigado!
JBrasil
29 Set 2008, 21:17
Boa noite !
Deu certo...
rs :-)
Não tinha percebido que o ntpdate, está agendado no crontab.
eheheheheh
Muito bom, seu script.
Abraços.
Até +
JBrasil.
JBrasil
29 Set 2008, 17:27
Rodando manualmente deu certo.
Alterei a hora do linux para 23:58 dia 18/10/08
E simulei, agendando no crontab.
00 00 19 10 * /root/scripts/horarioverao.sh > /var/log/horarioverao.log

Porém, ocorreu um erro.
Veja:
[root@serverteste ~]# more /var/log/horarioverao.log

Verificando a existencia do programa /usr/sbin/zic [ OK ]

Criando o arquivo de configurações do horário de verão 2008-2009 [ OK ]

Criando o binário com as informações do horário de verão 2008-2009 [ OK ]

Removendo informações do horário de verão antigo [ OK ]

Ativando as configurações para o horário de verão 2008-2009 [ OK ]

Verificando o status da ativação [ERRO]

[root@serverteste scripts]# date
Sáb Out 18 23:59:47 BRT 2008

[root@serverteste scripts]# date
Dom Out 19 01:00:00 BRST 2008

[root@serverteste scripts]# date
Seg Set 29 17:21:07 BRT 2008

Ele adiontou uma hora(correto), e depois voltou a hora corrente.

O que pode ser ?
Obrigado.
JBrasil.
Smailli Hemori Moraes
29 Set 2008, 14:58
Pelo que vi o seu arquivo está com a codificação utilizada pelo Windows. Tente executar dos2unix horarioverao.sh e depois executar o script.
JBrasil
29 Set 2008, 11:23
Veja o erro:
-bash: ./horarioverao.sh: /bin/bash^M: bad interpreter: Arquivo ou diretório não encontrado

Conferi os binários, está tudo ok.
O que pode ser ?
Obrigado.
sanguera
26 Set 2008, 11:12
Mais uma show de bola, abraço brother.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Aprenda Inglês em Casa
Metodo inovador e criativo, para quem tem pouco tempo. Veja os depoimentos de nossos alunos.
Saiba mais

Biblioteca

Desenvolvendo Websites com PHP
Por Juliano Niederauer

O Monge e o Executivo: uma História sobre a Essência da Liderança
Por James C. Hunter

Extreme Programming
Por Vinicius Manhaes Teles

UML: Guia do Usuário
Por Grady Booch, James Rumbaugh e Ivar Jacobson

O Vendedor de Sonhos
Por Augusto Cury

Segurança de Redes em Ambientes Cooperativos
Por Emilio Tissato Nakamura e Paulo Licio de Geus

O Conhecimento em Rede
Por Carlos Nepomuceno e Marcos Cavalcanti

Utilizando UML e Padrões
Por CRAIG LARMAN

Sistema de Banco de Dados
Por Abraham Silberschatz

Hardware PC: Guia de Aprendizagem Rápida
Por Carlos E. Morimoto

Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder

Redes de Computadores e a Internet
Por James F. Kurose e Keith W. Ross

O Segredo
Por Rhonda Byrne

Os Segredos da Mente Milionária
Por T. Harv Eker

Construindo Sites com CSS e (X)HTML
Por Mauricio Samy Silva

Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates

Expressões Regulares: Uma Abordagem Divertida
Por Aurélio Marinho Jargas

Qualidade de Software
Por Andre Koscianski Michel dos Santos Soares

Descobrindo o Linux: Entenda o Sistema Operacional GNU/Linux
Por Joao Eriberto Mota Filho

Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson