Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6365[/thread]

Uhrzeit Syncen: Uhrzeit Syncen unter Suse Linux 9.0

Leser: 1


<< >> 10 Einträge, 1 Seite
ahnungsloser
 2004-06-25 21:21
#83714 #83714
User since
2003-09-03
80 Artikel
BenutzerIn
[default_avatar]
Hallo,

der Ahnungslose, hat mal wieder eine Frage, bzw. ein Problem. Da ich auf meinem PC, zum einen ein Windoof 2000 und ein Suse Linux 9.0 installiert habe, hab ich immer so meine Probleme mit der lieben Uhrzeit. Die geht mal unter dem einen Betriebssystem vor oder zurück wie auch immer, ich wollte ein NTP-Server via Internet anzapfen und den Strin dann an das Command "Date" übergeben, nu bekomme ich mit folgendem Script die Meldung, es seien zu viele Argumente, für Date???? Kann mir wer da mal unter die arme greifen?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl

$hostname = 'ntps1-1.cs.tu-berlin.de'; #NTP-Server

use IO::Socket;
$socke = new IO::Socket::INET (
PeerAddr => $hostname,
PeerPort => 13,
Proto => 'tcp')|| die "Kein Socket... $!\n";

$zeit = <$client_sock>;
$socke->close();

print "Genaue Uhrzeit: $zeit\n";

`date -s $zeit`;
coax
 2004-06-25 21:47
#83715 #83715
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=ahnungsloser,25.06.2004, 19:21]
Code: (dl )
1
2
3
4
5
$zeit = <$client_sock>;

# ...

`date -s   $zeit`;
[/quote]
Schau mal... $zeit hat keinen Wert, denn du liest von einen Socket den es nicht gibt. $client_sock ist nicht definiert,
sollte sicherlich <$socke> lauten (vielleicht willst du ja deine Variable in $sock oder $socket umbenennen $socke sieht ungewoehnlich aus ;) ).

Die eigentilche Fehlermeldung kommt jedoch dadurch, weil der Zeitstring der vom Server kommt Leerzeichen enthaelt.
Setzt es in Hochkommata damit der String als ein Parameter gedeutet wird:
Code: (dl )
`date -s '$zeit'`


Grusz Christian.\n\n

<!--EDIT|coax|1088185718-->
,,Das perlt aber heute wieder...'' -- Dittsche
esskar
 2004-06-25 21:56
#83716 #83716
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
net::ntp
esskar
 2004-06-25 22:02
#83717 #83717
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ahnungsloser
 2004-06-25 22:25
#83718 #83718
User since
2003-09-03
80 Artikel
BenutzerIn
[default_avatar]
Hi,

thx an alle, der Tipp, der von COAX kam, mit den Hochkommata hat gegriffen, ja, das mit dem Socket und mit der Variable, war auch nicht ganz koscher, zumindest hier im Code Snipplet.
Was hat es denn mit den Hochkommata auf sich???
ptk
 2004-06-25 22:45
#83719 #83719
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Der daytime-Port gibt nicht das gleiche Format zurueck, das von "date" erwartet wird. Du musst dir das Ergebnis anschauen und per regexp fuer "date" zurechtbiegen. Uebrigens findest du hier das fertige Skript.
coax
 2004-06-26 00:16
#83720 #83720
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=ptk,25.06.2004, 20:45]Der daytime-Port gibt nicht das gleiche Format zurueck, das von "date" erwartet wird. Du musst dir das Ergebnis anschauen und per regexp fuer "date" zurechtbiegen.[/quote]
In Prinzip richtig, jedoch nicht wenn date mit -s verwendet wird, dann kannst du date mit einer
Zeitangabe fuettern die im selben Format ist wie die normale Datumsausgabe von date.
Und das von Zeitserver zurueckgelieferte Format entspricht nun mal der normalen Ausgabe von date.
Kannst dir also das Aufsplitten und Formatieren der Werte sparen.

[quote=ahnungsloser,25.06.2004, 20:25]
Was hat es denn mit den Hochkommata auf sich???[/quote]
Na wie ich oben schon geschrieben habe, wuerde der String, wenn er nicht von Hochkommata
umschlossen ist, nicht als ein Argument sondern eine Liste von Argumenten interpretiert werden.

Grusz Christian.
,,Das perlt aber heute wieder...'' -- Dittsche
Strat
 2004-06-26 01:21
#83721 #83721
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
unter linux verwende ich da lieber xntp....

man xntp

in der shell eingeben, und dann synct linux korrekt. unter win2k habe ich von www.shareware.com oder www.shareware.de ein recht nettes kleines programm namens atomzeit.exe downgeloaded... allerdings muesste es auch mit dem befehl
net time irgendwas auch gehen...

net help time
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
steffenw
 2004-06-26 11:28
#83722 #83722
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=esskar,25.06.2004, 19:56]net::ntp[/quote]
Das ist ja nett, funktioniert. Nur was da in dem Hash was ist, blieb mir bisher noch verborgen.
$SIG{USER} = sub {love 'Perl' or die};
coax
 2004-06-26 12:16
#83723 #83723
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Die Bedeutung der Schluessel/Werte im Hash kannst du dir im RFC 1305 heraussuchen.
,,Das perlt aber heute wieder...'' -- Dittsche
<< >> 10 Einträge, 1 Seite



View all threads created 2004-06-25 21:21.