[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: aggiornare l'ora via internet



On Mon, Oct 30, 2000 at 02:30:04PM +0100, Sabino Maggi wrote:
> > On Mon, Oct 30, 2000 at 01:05:39PM +0100, Sabino Maggi wrote:
> > > Io uso: rdate www.ien.it | hwclock --systohc
> > >               ^^^^^^^^^^
> > > Garantisco che funziona :-)))
> > 
> > Non e' lo stesso server di time.ien.it (anche se in teoria dovrebbe avere lo
> > stesso orario), e una pipe fatta cosi' rischia delle condizioni di corsa
> > critica (ovvero salva nel bios l'ora *prima* che il server risponda).
> 
> Non ne sono sicuro al 100% (io mi occupo di tutt'altro), ma non capisco
> perche' dovremmo avere **2** timeserver diversi. Forse sono "prima" e
> "dopo" il router?

time.ien.it e www.ien.it hanno due ip diversi, ovvero sembrano due macchine
fisicamente distinte, anche se magari si troveranno a 20 cm di distanza
l'una dall'altra e collegate allo stesso hub.

Pero' time.ien.it e' pubblicizzata come "time server", l'altra no. Magari
l'orologio differisce di meno di qualche centesimo di secondo, pero' se
time.ien.it sbaglia, fanno subito le corse (spero) per rimetterlo in
funzione, mentre se sbaglia www.ien.it non e' un problema urgente, specie il
venerdi' sera.


> Comunque, mi interessa il discorso sulla pipe e i problemi di corsa
> critica. Potresti essere piu' preciso, per favore??
> Io comunque uso il comando da mesi sia su pc che su macchine Sun senza
> problemi.

In teoria, quando scrivi "A | B", i programmi partono in contemporanea
(quasi, se la macchina e' monoprocessore uno dei due parte qualche
microsecondo dopo), e B si ferma solo in attesa di dati da A.

Nel caso in questione, B (hwclock) non necessita di input, quindi parte e fa
il suo lavoro salvando l'ora corrente nell'orologio hardware, anche se A
(rdate) si blocca qualche millisecondo ad interrogare il dns o la rete e'
un po' intasata e la risposta arriva dopo qualche decimo di secondo.

Non so se hwclock si accorge della pipe e aspetta (ma non credo) o se c'e'
un qualche meccanismo di blocco intelligente, pero' la forma piu' corretta
e' usare il puntoevirgola (';') al posto della barra verticale ('|'), anche
se non da' errore (infatti la sintassi e' giusta, la logica non molto).

Poi, se il tuo orologio sbagliasse anche di un paio di secondi, pensi di
riuscire ad accorgerti che non viene aggiornato correttamente? :-)


ciao

Michele



Reply to: