View previous topic :: View next topic |
Author |
Message |
lucapost Veteran
Joined: 24 Nov 2005 Posts: 1419 Location: <ud|me|ts> - Italy
|
Posted: Sun May 09, 2010 10:31 am Post subject: script per calcolo secondi di connessione |
|
|
Ho un bel dilembo da risolvere.
Devo calcolare la durata di una connessione ppp attraverso uno script.
Il problema è che la macchina su cui gira il demone ad ogni riavvio perde le impostazione dell'orologio (si resetta al 01-01-1970), il quale si sincronizza correttamente solamente successivamente all'avvio della connessione.
L'istante dal quale sarebbe corretto calcolare il tempo di connessione dovrebbe essere quello in cui l'interfaccia ppp0 riceve l'ip dal server remoto, e questo avviene ad orologio non sincronizzato. Ovviamente l'intervallo di tempo tra l'avvio del demone ppp e la ricezione dell'indirizzo ip non è mai lo stesso.
Ho verificato che ntpclient ci mette circa un minuto per sincronizzare l'orologio, ma questo tempo non è mai lo stesso. Cioè, ho l'orologio sincronizzato in un tempo che oscilla tra 30-90 secondi.
Attualmente, per contare i secondi di connessione mi baso sul comando date +%s, il quale mi da i secondi a partire dal 1-1-1970. Quindi per conoscere gli effettivi secondi di connessione, rilancio date +%s e faccio la differenza con il risultato del primo.
Capite che se tra i due date +%s ho una sincronizzazzione dell'orologio la cosa non funziona.
Quindi in verità il primo date +%s lo lancio 90 secondi dopo l'avvio della connessione ppp, ed alla differenza tra i due ci sommo 90 secondi.
Questa è una stima comunque imprecisa, qualche consiglio su come risolvere? _________________ LP
Last edited by lucapost on Sun May 09, 2010 10:35 am; edited 1 time in total |
|
Back to top |
|
|
Peach Advocate
Joined: 08 Mar 2003 Posts: 3686 Location: London, UK
|
Posted: Sun May 09, 2010 10:33 am Post subject: |
|
|
e usare time? viene anch'esso influenzato dall'aggiustamento di orario? _________________ Gentoo user since 2004.
"It's all fun and games, until someone loses an eye" - mom |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4810 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Sun May 09, 2010 9:22 pm Post subject: |
|
|
prima di ntp-client (anzi, nell'istante in cui ricevi l'ip), lanci un demone contasecondi.
dopo l'aggiustamento dell'ora, leggi lo stato del demone, determini il tempo passato e spegni il demone, di cui adesso puoi fare a meno. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
Zizo Apprentice
Joined: 04 Feb 2010 Posts: 200 Location: Padova, Italy
|
Posted: Sun May 09, 2010 9:32 pm Post subject: Utilizzo della variabile SECONDS. |
|
|
Potresti provare ad utilizzare la variabile SECONDS.
All'interno dello script imposti che verrà automaticamente incrementato di 1 ad ogni secondo.
Così per sapere il tempo trascorso dal precedente comando puoi fare un
L'unico dubbio è vedere se la variabile dipende dall'ora di sistema, anche se non penso. |
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
|
Back to top |
|
|
lucapost Veteran
Joined: 24 Nov 2005 Posts: 1419 Location: <ud|me|ts> - Italy
|
Posted: Tue May 11, 2010 1:16 pm Post subject: |
|
|
Sia time che clock sono influenzati dall'orologio di sistema.
Ho verificato che una possibile soluzione è considerare i seguenti tempi:
- T1: ricezione dell'ip
- T2: istante antecedente la sincronizzazione
- T3: istante successivo alla sincronizzazione
- T4: tempo generico
Tempo connessione = (T2-T1)+(T4-T3).
Per ricavare T1, T2 e T3 ho inserito qualche if con break dentro ad un ciclo while true, con i relativi controlli.
E' una soluzione un pò laboriosa, ma funge.
Se qualcuno ha un'idea migliore.... _________________ LP |
|
Back to top |
|
|
|