Ajuste de horário e sincronismo

Publicado por Ricardo Brito do Nascimento 24/11/2007

[ Hits: 7.562 ]

Homepage: http://brito.blog.incolume.com.br

Download syncTime.sh




Este script usa um servidor ntp para atualização da hora das máquinas da rede. Foi testado em Fedora, CentOS, Debian e Ubuntu.

Muito útil para redes sem acesso à internet que possuem um servidor ntp ou roteadores com ntp habilitados. Ele leva em conta timezone, e horário de verão brasileiro, onde São_Paulo.zic é o arquivo que contém a tabela do horário de verão brasileiro de 2007/8, com início e término corretos.

  



Esconder código-fonte

#====================== Conteudo Sao_Paulo.zic ==========================
Rule BrazilSP 2007 only - Oct 14 0:00 1:00 S
Rule BrazilSP 2008 only - Feb 16 0:00 0 -

# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone America/Sao_Paulo -3:00 BrazilSP BR%sT
#================ Fim Conteudo Sao_Paulo.zic =============================


#======= inicio script =========================================
#!/bin/bash
#SyncTime - sincroniza horário na rede interna
#autor: Ricardo Brito do Nascimento
#email: ricardo[at]rbncurriculo.cjb.net
#v2.0
#
#Data: 31/10/2007
#
#Descrição:
# Este script atualiza a hora de máquinas linux atraves de um
# servidor ntp disponível, e acrescenta automaticamente a entrada
# no /etc/crontrab para sincronização automática de hora, 
# é necessário estar logado como 'root' para atualização do crontab



SINCSERVER=10.1.0.1
ZICFILE=Sao_Paulo.zic
TIMEFILE=/usr/share/zoneinfo/America/Sao_Paulo
TIMEFILECONF=/etc/localtime
EXTOLDTIMEFILECONF='default'

# Aborta instação sem which
if [ ! -e /usr/bin/which ]; then
        echo "Nota: which é requerido para este script! finalizando Agora."
        exit 1
fi

# Aborta instação sem mv
if [ -z `which mv 2> /dev/null` ]; then
        echo "Nota: mv é requerido para $0! finalizando Agora."
        exit 1
fi

# Aborta instação sem ln
if [ -z `which ln 2> /dev/null` ]; then
        echo "Nota: ln é requerido para $0! finalizando Agora."
        exit 1
fi

# Aborta instação sem zic
if [ -z `which zic 2> /dev/null` ]; then
        echo "Nota: zic é requerido para $0! finalizando Agora."
        exit 1
fi

# Aborta instação sem ntpdate
if [ -z `which ntpdate 2> /dev/null` ]; then
        echo "Nota: ntpdate é requerido para $0! finalizando Agora."
        exit 1
fi

# Aborta instação sem tabela fuso de horário
if [ ! -e $ZICFILE ]; then
        echo "Nota: o arquivo $ZICFILE é requerido para este script! finalizando Agora."
        exit 1
fi

mv $TIMEFILECONF $TIMEFILECONF.$EXTOLDTIMEFILECONF
ln -s $TIMEFILE $TIMEFILECONF
zic $ZICFILE
ntpdate $SINCSERVER

#Campo  Função
#1o.    Minuto
#2o.    Hora
#3o.    Dia do mês
#4o.    Mês
#5o.    Dia da semana (D[0|7] S[1] T[2] Q[3] Q[4] S[5] S[6])
#6o.    Usuário que executa o comando
#7o.   comando ou Programa pra execução

echo '#m h dom mon dow user  command' >> /etc/crontab
echo ' 0 0  *   *   *  root  ntpdate '$SINCSERVER >> /etc/crontab

Scripts recomendados

Instalação para Placa Atheros

Script de instalação do Qmail

Script para limpar os caches do proxy (squid)

Download do Banco de dados NCBI NT (DNA)

Script de backup para Gravador CD-R ou CD-Rw


  

Comentários
[1] Comentário enviado por schrodinger em 22/09/2014 - 10:26h

Não deu certo aqui!!! apareceu isso:

./ajustahora.sh: line 2: Rule: comando não encontrado
./ajustahora.sh: line 3: Rule: comando não encontrado
./ajustahora.sh: line 6: Zone: comando não encontrado
Nota: ntpdate é requerido para ./ajustahora.sh! finalizando Agora.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts