rdate funktioniert nicht per cron?!

Bash, Shell, PHP, Python, Perl, CGI
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

rdate funktioniert nicht per cron?!

Post by andreask2 »

Hallo!

Habe da ein seltsames Problem mit einem Cronjob.

In /etc/cron.hourly liegt das folgende Script:

Code: Select all

#! /bin/sh
/usr/bin/rdate -su ntp1.ptb.de
damit will ich eigentlich meine Systemuhr aktualisieren, was auch wunderbar (ohne Ausgabe) funktioniert, wenn ich das so ausführe. Aber sobald das per cron ausgeführt wird, dann bekomme ich folgende Meldung zugemailt:
rdate: timed out waiting for data from ntp1.ptb.de
Ich habe wirklich keine Idee wieso das passiert. Wie gesagt kann ich das einfach so ausführen und es geht wunderbar.

Auch wenn ich -u (also TCP statt UDP) weglasse funktioniert es auch nicht.

Hat jemand von Euch ne Idee woher das kommt?


Viele Grüße
Andreas

PS: Was verwendet Ihr so für Zeitserver?
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: rdate funktioniert nicht per cron?!

Post by andreask2 »

Grade nochmal getestet, wenn ich

Code: Select all

#! /bin/sh
/usr/bin/rdate -s ntp1.ptb.de
verwende (also TCP an Stelle von UDP), dann erhalte ich:
rdate: Connection refused
Wie gesagt, beide Varianten funktionieren perfekt wenn ich das Script selber von der Shell aus starte.

Ich verstehe es nicht.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: rdate funktioniert nicht per cron?!

Post by andreask2 »

wobei, die UDP-Variante funktioniert problemlos von der Shell, die TCP-Variante gibt auch auf der Shell oft dieses Fehler aus, aber nicht immer. Kann das evtl. am Server/Protokollversion liegen?
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: rdate funktioniert nicht per cron?!

Post by captaincrunch »

Warum nutzt du nicht einfach ntpdate, und im weiteren ntpd? ;)

Falls du diesem Problem im speziellen auf die Spur kommen willst, dürfte dich tcpdump weiterbringen...achte halt nur drauf, die NIC nicht zwangsläufig in den promiscious mode zu setzen. ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: rdate funktioniert nicht per cron?!

Post by andreask2 »

Ja, ich hab jetzt ntp installiert, und verwende das veraltete ntpdate. Das geht.
ntpd, naja, das öffnet wieder einen UDP-Port, das mag ich eigentlich nicht, vor allem wenn es wirklich _überhaupt_nicht_ notwendig ist. Außerdem ist das mal wieder ne ganze Ecke komplizierter (und ich finde die Konfiguration ist auch nicht gut dokumentiert), hab mir eine /etc/ntp.conf erstellt:

Code: Select all

restrict 127.0.0.1 notrust nomodify
server ntp1.ptb.de
server ntp2.ptb.de
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp.log
ntpd -q funktioniert zwar ebenfalls, aber im Gegensatz zu ntpdate öffnet es keine Verbindung auf einem hohen Port, sondern öffnet den NTP-Port, startet also kurz den Daemon, wenn ich das richtig vestehe. Und es dauert erheblich länger. Hat das denn irgendeinen Vorteil, oder würdest Du das Teil wirklich als Daemon ständig laufen lassen?

Im Prinzip läuft dann ja ein NTP-Server, der von außen erreichbar ist, der nur durch den Eintrag in der Konfig nicht viel mit sich machen lässt. Ich sehe das allerdings als unnötiges Risiko. Wobei ich gelesen habe, dass in diesem Fall die Zeit am besten/genausten synchronisiert werden kann...

rdate habe ich genommen, weil man theoretisch nur

Code: Select all

emerge rdate
rdate server
machen muss, und fertig!
sascha
Posts: 1325
Joined: 2002-04-22 23:08

Re: rdate funktioniert nicht per cron?!

Post by sascha »

Benutze einfach einen anderen Server. Bei den beiden PTB-Servern habe ich dieses Problem auch regelmäßig.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: rdate funktioniert nicht per cron?!

Post by andreask2 »

kennt denn jemand ein paar zuverlässige Server in Deutschland?
floschi
Userprojekt
Userprojekt
Posts: 3247
Joined: 2002-07-18 08:13
Location: München

Re: rdate funktioniert nicht per cron?!

Post by floschi »

andreask2 wrote:kennt denn jemand ein paar zuverlässige Server in Deutschland?
pool.de.ntp.org
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: rdate funktioniert nicht per cron?!

Post by andreask2 »

olfi wrote:pool.de.ntp.org
Du meinst vermutlich

Code: Select all

de.pool.ntp.org
http://twiki.ntp.org/bin/view/Servers/NTPPoolServers

Werde ich mal probieren, vielen Dank!

Verwendet Ihr denn eher ntp, oder was einfacheres wie rdate? Das seltsame ist, dass rdate in der shell eigentlich mehr oder weniger funktioniert, aber per cron _überhaupt_ nicht.
sascha
Posts: 1325
Joined: 2002-04-22 23:08

Re: rdate funktioniert nicht per cron?!

Post by sascha »

Ich persönlich setze auch rdate ein. Wann läuft denn dein Cronjob? Es könnte ja sein dass sich gleichzeitig ein paar weitere Clients syncen wollen. Evtl. verschiebst du die Ausführungszeit mal um ein paar Minuten.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: rdate funktioniert nicht per cron?!

Post by andreask2 »

So mache ich das jetzt:

Code: Select all

#! /bin/sh
ntpd -q  > /dev/null 2>&1
meine /etc/ntp.conf sieht so aus:

Code: Select all

restrict 127.0.0.1 notrust nomodify
server de.pool.ntp.org
server de.pool.ntp.org
server de.pool.ntp.org
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp.log
Das funktioniert wunderbar. Ich verstehe das zwar nicht, ich hab mir das ganze mal per tcpdump angesehen, komischerweise sendet derselbe Server bei rdate immer wieder ICMP-Pakete wie "Port unreachable" oder sowas, und machmal antwortet er gar nicht. Mit ntpdate und ntpd funktioniert das dagegen - wie gesagt mit demselben Server einwandfrei. Wobei ntpd immer bei einem Server von der uni-erlangen landet, und rdate kunterbunt gemischt bei unterschiedlichen Servern. Vielleicht cached ntpd die IP irgendwie selber? Naja... jedenfalls Danke für Eure Hilfe!

Grüße
Andreas
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: rdate funktioniert nicht per cron?!

Post by andreask2 »

Sascha wrote:Ich persönlich setze auch rdate ein. Wann läuft denn dein Cronjob? Es könnte ja sein dass sich gleichzeitig ein paar weitere Clients syncen wollen. Evtl. verschiebst du die Ausführungszeit mal um ein paar Minuten.
Hm, immer zur vollen Stunde, das ist in der Tat eine einleuchtende Idee ;-)

Naja, bei einer Anwendung auf dem Server kommt es auf genaue Zeit an, wobei es eigentlich auch täglich reichen sollte. Mal sehen. Aber ich denke das Problem besteht auch wenn ich es in /etc/cron.daily lege, also besser mal ne ganz andere Zeit.

Wobei ich auch so, zwischendurch manuell Probleme habe, bei ntpd dagegen nie.