rdate NTP Server ändern

Wünsche, Anträge, Fehlermeldungen
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

rdate NTP Server ändern

Beitrag von Tommy »

Seit 1.8.1.8 ist rdate im yadi. Leider findet man nirgendwo (auch im wiki nicht) eine Beschreibung zur Anwendung. Speziell würde mich interessieren, wie man die Adresse des NTP Servers ändern kann. Wäre das über eine config Datei möglich?
Yadi: add rdate to busybox and rcS to get time from internet, touch /var/etc/.rdate to aktivate
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Re: rdate NTP Server ändern

Beitrag von petgun »

Tommy hat geschrieben:..Speziell würde mich interessieren, wie man die Adresse des NTP Servers ändern kann...
...wuerde mich auch interessieren...und wenn der NTP-Server fest verdrahtet sein sollte (was ich eigentlich nicht annehme), kann ich mich dem Wunsch nach einer ntp-config Datei nur anschliessen.
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Re: rdate NTP Server ändern

Beitrag von Innuendo »

tach ihrs,
petgun hat geschrieben:
Tommy hat geschrieben:..Speziell würde mich interessieren, wie man die Adresse des NTP Servers ändern kann...
...wuerde mich auch interessieren...und wenn der NTP-Server fest verdrahtet sein sollte (was ich eigentlich nicht annehme), kann ich mich dem Wunsch nach einer ntp-config Datei nur anschliessen.
ich hab kein yadi, aber rdate <zeitserver> funktioniert in jedem normalen image, wenn in der busybox-flash.config CONFIG_RDATE=y aktiviert ist.
in den startdateien von yadi (wahrscheinlich rcS) ist sicher sowas zu finden:

if [ -e /var/etc/.rdate ] ; then
rdate time.fu-berlin.de
fi

wobei time.fu-berlin.de auch irgendein anderer zeitserver sein kann.

regards
Innu
zexma
Tuxboxer
Tuxboxer
Beiträge: 2067
Registriert: Mittwoch 6. März 2002, 15:29

Re: rdate NTP Server ändern

Beitrag von zexma »

Innuendo hat geschrieben: ich hab kein yadi, aber rdate <zeitserver> funktioniert in jedem normalen image, wenn in der busybox-flash.config CONFIG_RDATE=y aktiviert ist.
in den startdateien von yadi (wahrscheinlich rcS) ist sicher sowas zu finden:

if [ -e /var/etc/.rdate ] ; then
rdate time.fu-berlin.de
fi

wobei time.fu-berlin.de auch irgendein anderer zeitserver sein kann.

regards
Innu
genau so ist es

Code: Alles auswählen

# Internetzeit holen
if [ -e /var/etc/.rdate ]; then
 /sbin/rdate time.fu-berlin.de &
fi 
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

na des is doch ein Wort - ich teste das mal mit meinem EIS heute abend - VLLT kann man auf swisstime komplett verzichten.

Muß ich in der start.neutrino noch was ändern oder wird die Zeit automatisch beim Start bzw. Ableben von Neutrino vom NTP statt aus dem Äther gezogen?
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Wenn Du /var/etc/.rdate touch'ed, dann wird die Zeit beim Starten von Neutrino automatisch vom Server gezogen. Was anderes muss dazu nicht geändert werden.
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

Tommy hat geschrieben:na des is doch ein Wort - ich teste das mal mit meinem EIS heute abend - VLLT kann man auf swisstime komplett verzichten.

Muß ich in der start.neutrino noch was ändern oder wird die Zeit automatisch beim Start bzw. Ableben von Neutrino vom NTP statt aus dem Äther gezogen?
das "statt" wird nicht so einfach gehen, da die sectionsd im regelmäßigen abständen die uhrzeit vom satelitten nimmt. [timethread] nennt es sich, wenn ich mich grad recht erinner. mit korrekt eingetragener timezone sollte das eigentlich genügen.
wenn du zusätzlich mit rdate zyklisch die uhrzeit holen soll, wirst du um einen chronjob nicht drumherum kommen. das timer plugin von ryker (?) bietet imho diese funktion auch.

regards
Innu
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

Auch wenn Ihr mich langsam für verblödet haltet :gruebel:

...wenn ich in der start.neutrino

Code: Alles auswählen

rdate <NTP-Server IP> &
eintrage sollte das beim Start getan werden?! Auch ohne "touch..."?

Welches skript wird beim runterfahren (shutdown) abgearbeitet und wo ist die stelle bevor der nächste "Aufwachtimer" an die Hardware übergeben wird - bzw kommt man da beim yadi ran wie an die start.neutrino?

Ich will ja nur das die Box beim starten die NTP Zeit holt (bevor die vom Sender zur verfügung steht) und beim runterfahren (falls keine Uhrzeit vom Sender vorliegt wird der Hardware eine "Phantasiezeit" übergeben). Im laufenden Betrieb soll die Uhrzeit schon über den Sender kommen
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

..wenn ich in der start.neutrino

Code: Alles auswählen

rdate <NTP-Server IP> &
eintrage sollte das beim Start getan werden?! Auch ohne "touch..."?
Ja, das ist m.E. richtig. Wobei das '&' am Ende überflüssig ist, weil rdate lediglich einmal die Zeit vom Zeitserver holt und dann terminiert. Das ist kein kompletter ntpd.
Welches skript wird beim runterfahren (shutdown) abgearbeitet und wo ist die stelle bevor der nächste "Aufwachtimer" an die Hardware übergeben wird - bzw kommt man da beim yadi ran wie an die start.neutrino?
Wenn ich das richtig sehe passiert das alles in der /etc/init.d/start_neutrino. Nach dem Beenden von Neutrino wird die einfach weiter abgearbeitet und die Box fährt runter.

Allerdings ist es m.E. nicht nötig vor dem Runterfahren noch eine neue Zeit zu setzen. Denn wenn Du beim Starten die Zeit setzt dann brauchst Du das doch nicht noch mal beim Beenden zu tun?
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

Allerdings ist es m.E. nicht nötig vor dem Runterfahren noch eine neue Zeit zu setzen. Denn wenn Du beim Starten die Zeit setzt dann brauchst Du das doch nicht noch mal beim Beenden zu tun?
... doch ist es. Erfahrungen haben gezeigt, das es durchaus passieren kann, das die Zeit entweder nicht vorhanden (sectionsd abgestürzt) oder falsch sein kann (Hotbirdsender - Uhr geht 10Min falsch). In beiden Fällen wacht die Box gar nicht oder zur falschen Zeit auf.

Nur zum besseren Verständniss - das "&" steht dafür, das das Ende des Prozesses abgewartet wird?
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Tommy hat geschrieben:Nur zum besseren Verständniss - das "&" steht dafür, das das Ende des Prozesses abgewartet wird?
..das steht dafuer das _nicht_ auf das Ende gewartet wird:
A sequence of one or more pipelines separated by one of these four symbols ; (semicolon), & (ampersand), && (double ampersand), or || (double bar). The list is optionally ended by one of the following symbols: ; (semicolon), & (ampersand), or |& (bar, ampersand).

; Sequentially processes the preceding pipeline. The shell carries out each command in turn and waits for the last command to complete.

& Asynchronously processes the preceding pipeline. The shell carries out each command in turn, processing the pipeline in the background without waiting for it to complete.

|& Asynchronously processes the preceding pipeline and establishes a two-way pipe to the parent shell. The shell carries out each command in turn, processing the pipeline in the background without waiting for it to complete. The parent shell can read from and write to the standard input and output of the spawned command by using the read -p and print -p commands. Only one such command can be active at any given time.

&& Processes the list that follows this symbol only if the preceding pipeline returns an exit value of 0 (zero).

|| Processes the list that follows this symbol only if the preceding pipeline returns a nonzero exit value.

The ; (semicolon), & (ampersand), and |& (bar, ampersand) have a lower priority than the && (double ampersand) and || (double bar). The ;, &, and |& symbols have equal priority among themselves. The && and || symbols are equal in priority. One or more new-line characters can be used instead of a semicolon to delimit two commands in a list.
jeibie
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Mittwoch 27. Oktober 2004, 14:39

Beitrag von jeibie »

saruman hat geschrieben:Wenn Du /var/etc/.rdate touch'ed, dann wird die Zeit beim Starten von Neutrino automatisch vom Server gezogen. Was anderes muss dazu nicht geändert werden.
Genau da liegt das Problem. Die Zeit wird nur beim Start geholt und
nicht per Cron periodisch. Ich weis es gibt auch einen cron in der Dbox
aber wenn ich ein neues Image einfahre, dann ist die crontab wieder weg
und das gefällt mir persoenlich auch nicht.

Gruss
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Kannst Dir ja ein kleines Script schreiben (ungetestet):

Code: Alles auswählen

#!/bin/sh
while 1; do
 rdate ptbtime1.ptb.de
 sleep 3600
done
und das unter /var/bin ablegen. Das rufst Du dann aus der start_neutrino auf, diesesmal aber bitte mit '&', weil das Script nicht terminiert und daher in den Hintergrund geschickt werden muss. Ansonsten fährt die Box nicht weiter hoch.
jeibie
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Mittwoch 27. Oktober 2004, 14:39

Beitrag von jeibie »

saruman hat geschrieben:Kannst Dir ja ein kleines Script schreiben (ungetestet):

Code: Alles auswählen

#!/bin/sh
while 1; do
 rdate ptbtime1.ptb.de
 sleep 3600
done
und das unter /var/bin ablegen. Das rufst Du dann aus der start_neutrino auf, diesesmal aber bitte mit '&', weil das Script nicht terminiert und daher in den Hintergrund geschickt werden muss. Ansonsten fährt die Box nicht weiter hoch.
Ich hab bei mir einen Linux Server im lokalen Netz, der setzt mitels
expect jede Stunde einmal die Uhrzeit. Ist natuerlich auch nicht so
toll, praktisch funktionierts bis jetzt aber problemlos.
Und, wie gesagt, es hat den Vorteil, dass ich nicht bei einem Imagewechsel irgendwas neu konfigurieren bzw hochladen muss.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

@jeibie
vergiss das mit cron und crontab gleich wieder. ich hab da ne ganze weile rumprobiert. es geht nicht
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

mb405 hat geschrieben:@jeibie
vergiss das mit cron und crontab gleich wieder. ich hab da ne ganze weile rumprobiert. es geht nicht
warum sollte das nicht gehen?
ich habs nicht ausprobiert, aber wenn crond crontabs in der busybox sind, dann sollte es gehen.
in var/spool/crond/crontabs erstell dir die datei root
00 20 * * * /var/plugins/ntp_time

in die datei /var/plugins/ntp_time schreibst du dann einfach nur
#!/bin/sh
/sbin/rdate time.fu-berlin.de

wenn du nun crond startest, sollte rdate jeden abend um 20 uhr die zeit abholen. wenn ich mich grad recht erinner kann man bei den stunden auch /2 oder sowas angeben, damit es alle 2 stunden wiederholt wird .. frag mal google, der weiß das genauer.

innu
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

google hab ich schon gesucht