você está aqui: Home  → Arquivo de Mensagens

Script para ajuste do horário de verão

Colaboração: Marcio R A Garcia

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

Fiz algumas alterações no script enviado como dica, no dia [26 de setembro http://www.dicas-l;com.br/dicas-l/20080926.php] para funcionar em sistemas Debian.

Já testado em todos os meus sistemas ;-).

  #!/bin/bash
  
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>#
  #                                                                       #
  # Versao original: Smailli Hemori Moraes                                #
  # Alterado para sistemas Debian por: Marcio R A Garcia - 26/090/2008    #
  #                                                                       #
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>#
  
  # Variaveis indicando ANO/MES inicial e final
  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=`whereis -b rm |cut -d: -f2`
  CP=`whereis -b cp |cut -d: -f2`
  BIN=`whereis -b zic |cut -d: -f2`
  ZDUMP=`whereis -b zdump |cut -d: -f2`
  MD5BIN=`whereis -b md5sum |cut -d: -f2`
  SERVICE=/etc/init.d/cron
  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 "\nCriando Backup das informações do horário de verão antigo"
  if $CP $LOCALTIME $LOCALTIME.bk ;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 "\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"
  $SERVICE restart


Veja a relação completa dos artigos de Marcio R A Garcia

 

 

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