Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

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

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

 

Curso de Inglês Online

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

Formato PDF
Newsfeed RSS
Formato para impressão
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.07/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.1 /5 (1654 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*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
Lan University

Submarino.com.br

Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis