Pular para o conteúdo

Visualizar a data e hora de um servidor SNTP e atualizar na BIOS do sistema

Script python para visualizar a data e hora de um servidor SNTP e atualizar na BIOS do sistema - hwclock.

Ele utiliza uma consulta a um servidor SNTP da Apple. É necessário ter instalado o hwclock e o date.

Executar:

# ./setclock.py

Mostra a hora do servidor SNTP.

Use o parâmetro  --set para atualizar a BIOS do sistema. Ex.:

# ./setclock.py --set

O script só atualiza a hora se for utilizado como root.

O setclock.py só funciona se a rede já estiver configurada e houver acesso a internet.



Fábio C. Barrionuevo da Luz luzfcb
Hits: 8.115 Categoria: Python Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Script python para visualizar a data e hora de um servidor SNTP e atualizar na BIOS do sistema - hwclock.

Ele utiliza uma consulta a um servidor SNTP da Apple. É necessário ter instalado o hwclock e o date.

Executar:

# ./setclock.py

Mostra a hora do servidor SNTP.

Use o parâmetro  --set para atualizar a BIOS do sistema. Ex.:

# ./setclock.py --set

O script só atualiza a hora se for utilizado como root.

O setclock.py só funciona se a rede já estiver configurada e houver acesso a internet.



Download setclock.py Enviar nova versão

Esconder código-fonte

Nome do Script: setclock.py

Codigo fonte:

#!/usr/bin/python
from socket import *
import struct,os,time,sys

#Modificado por Fabio C. Barrionuevo da Luz, Jul/2010
#use "setclock.py" para imprimir a hora do servidor sntp
#use como super usuario "setclock.py --set" para mudar a hora da BIOS e do sistema
#OBS: por usar um servidor sntp, a confiabilidade da hora pode não ser a esperada.
#pode haver atrasos ou adiantamentos.
#para mais informacoes, consulte:
#http://ntp.br/faq.html#5 , http://ntp.br/, www.ntp.org, 


# Script to set Linux hardware clock (/usr/sbin/hwclock or /sbin/hwclock) from an NTP
# time server.   Run as "setclock.py" to simply print the time from
# the NTP server.  Run as "setclock.py --set" to set the Linux
# hardware clock (as the super user, of course).

# Based on Simon Foster's simple SNTP client from ASPN Python cookbook.
# Adapted by Paul Rubin; this script lives at:
#    http://www.nightsong.com/phr/python/setclock.py


time_server = ('time.apple.com', 123)
# time.apple.com is a stratum 2 time server.  (123 is the SNTP port number).
# More servers info can be found at
#
#   http://www.eecis.udel.edu/~mills/ntp/servers.htm
#
# Note it's considered antisocial to use a stratum 1 server (like NIST)
# for purposes like this which don't need extreme accuracy (i.e. syncing
# your own big NTP network).  See www.ntp.org for more info.
#
# You could also use time.windows.com (Microsoft server) which syncs
# all Windows XP machines everywhere, so it can presumably handle lots
# of clients.

# number of seconds between NTP epoch (1900) and Unix epoch (1970).
TIME1970 = 2208988800L      # Thanks to F.Lundh

client = socket( AF_INET, SOCK_DGRAM )
data = '\x1b' + 47 * '
Nome do Script: setclock.py

Codigo fonte:

#!/usr/bin/python
from socket import *
import struct,os,time,sys

#Modificado por Fabio C. Barrionuevo da Luz, Jul/2010
#use "setclock.py" para imprimir a hora do servidor sntp
#use como super usuario "setclock.py --set" para mudar a hora da BIOS e do sistema
#OBS: por usar um servidor sntp, a confiabilidade da hora pode não ser a esperada.
#pode haver atrasos ou adiantamentos.
#para mais informacoes, consulte:
#http://ntp.br/faq.html#5 , http://ntp.br/, www.ntp.org, 


# Script to set Linux hardware clock (/usr/sbin/hwclock or /sbin/hwclock) from an NTP
# time server.   Run as "setclock.py" to simply print the time from
# the NTP server.  Run as "setclock.py --set" to set the Linux
# hardware clock (as the super user, of course).

# Based on Simon Foster's simple SNTP client from ASPN Python cookbook.
# Adapted by Paul Rubin; this script lives at:
#    http://www.nightsong.com/phr/python/setclock.py


time_server = ('time.apple.com', 123)
# time.apple.com is a stratum 2 time server.  (123 is the SNTP port number).
# More servers info can be found at
#
#   http://www.eecis.udel.edu/~mills/ntp/servers.htm
#
# Note it's considered antisocial to use a stratum 1 server (like NIST)
# for purposes like this which don't need extreme accuracy (i.e. syncing
# your own big NTP network).  See www.ntp.org for more info.
#
# You could also use time.windows.com (Microsoft server) which syncs
# all Windows XP machines everywhere, so it can presumably handle lots
# of clients.

# number of seconds between NTP epoch (1900) and Unix epoch (1970).
TIME1970 = 2208988800L      # Thanks to F.Lundh

client = socket( AF_INET, SOCK_DGRAM )
data = '\x1b' + 47 * '
Nome do Script: setclock.py

Codigo fonte:

#!/usr/bin/python
from socket import *
import struct,os,time,sys

#Modificado por Fabio C. Barrionuevo da Luz, Jul/2010
#use "setclock.py" para imprimir a hora do servidor sntp
#use como super usuario "setclock.py --set" para mudar a hora da BIOS e do sistema
#OBS: por usar um servidor sntp, a confiabilidade da hora pode não ser a esperada.
#pode haver atrasos ou adiantamentos.
#para mais informacoes, consulte:
#http://ntp.br/faq.html#5 , http://ntp.br/, www.ntp.org, 


# Script to set Linux hardware clock (/usr/sbin/hwclock or /sbin/hwclock) from an NTP
# time server.   Run as "setclock.py" to simply print the time from
# the NTP server.  Run as "setclock.py --set" to set the Linux
# hardware clock (as the super user, of course).

# Based on Simon Foster's simple SNTP client from ASPN Python cookbook.
# Adapted by Paul Rubin; this script lives at:
#    http://www.nightsong.com/phr/python/setclock.py


time_server = ('time.apple.com', 123)
# time.apple.com is a stratum 2 time server.  (123 is the SNTP port number).
# More servers info can be found at
#
#   http://www.eecis.udel.edu/~mills/ntp/servers.htm
#
# Note it's considered antisocial to use a stratum 1 server (like NIST)
# for purposes like this which don't need extreme accuracy (i.e. syncing
# your own big NTP network).  See www.ntp.org for more info.
#
# You could also use time.windows.com (Microsoft server) which syncs
# all Windows XP machines everywhere, so it can presumably handle lots
# of clients.

# number of seconds between NTP epoch (1900) and Unix epoch (1970).
TIME1970 = 2208988800L      # Thanks to F.Lundh

client = socket( AF_INET, SOCK_DGRAM )
data = '\x1b' + 47 * '{FONTE}'
client.sendto(data, time_server)
data, address = client.recvfrom( 1024 )
if data:
    print 'Resposta recebida de', address,'\n'
    t = struct.unpack( '!12I', data )[10]
    if t == 0:
        raise 'resposta invalida'
    ct = time.ctime(t - TIME1970)
    print 'Data/Hora atual = %s\n' % ct
    if len(sys.argv) > 1 and sys.argv[1] == "--set":
        print 'Atualizando hora da BIOS'
        print 'Hora da Bios modificada de:'
        os.system("date")  
        #muda a hora da bios      
        os.system("hwclock --set '--date=%s'"% ct)
   #copia a hora da bios para a hora do sistema
        os.system("hwclock --hctosys")
        print 'para:'
        os.system("date")
else:
    raise 'nenhuma informacao retornada'


' client.sendto(data, time_server) data, address = client.recvfrom( 1024 ) if data:     print 'Resposta recebida de', address,'\n'     t = struct.unpack( '!12I', data )[10]     if t == 0:         raise 'resposta invalida'     ct = time.ctime(t - TIME1970)     print 'Data/Hora atual = %s\n' % ct     if len(sys.argv) > 1 and sys.argv[1] == "--set":         print 'Atualizando hora da BIOS'         print 'Hora da Bios modificada de:'         os.system("date")           #muda a hora da bios               os.system("hwclock --set '--date=%s'"% ct)    #copia a hora da bios para a hora do sistema         os.system("hwclock --hctosys")         print 'para:'         os.system("date") else:     raise 'nenhuma informacao retornada'
' client.sendto(data, time_server) data, address = client.recvfrom( 1024 ) if data:     print 'Resposta recebida de', address,'\n'     t = struct.unpack( '!12I', data )[10]     if t == 0:         raise 'resposta invalida'     ct = time.ctime(t - TIME1970)     print 'Data/Hora atual = %s\n' % ct     if len(sys.argv) > 1 and sys.argv[1] == "--set":         print 'Atualizando hora da BIOS'         print 'Hora da Bios modificada de:'         os.system("date")           #muda a hora da bios               os.system("hwclock --set '--date=%s'"% ct)    #copia a hora da bios para a hora do sistema         os.system("hwclock --hctosys")         print 'para:'         os.system("date") else:     raise 'nenhuma informacao retornada'

ISOsync_pt-BR.py - Um Baixador Automático de ISOs de Sabayon, escrito em Python

Cup - um gerenciador de notas simples

Mudar wallpaper por um aleatorio

Algoritmo de Abraao

Compressão de série numérica em Python

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.