Datumsabfrage von FTP-Server

Wie kann ich in Perl das aktuelle Datum von einem FTP-Server auf meinen Rechner laden?

Hallo,

Wie kann ich in Perl das aktuelle Datum von einem FTP-Server
auf meinen Rechner laden?

AFAIK unterstuetzt ftp keine Datumsuebermittlung. Du kannst aber folgendes probieren: wenn du Schreibrechte auf dem server hast, kannst du eine Datei "touch"en (z.B. mit http://search.cpan.org/~dmuey/Net-FTP-File-0.05/File.pm oder so) und dann probieren, an die Datumsinformation zu kommen. In Net::FTP::File ist fstat noch nicht implementiert, vermutlich musst du die Ausgabe von ls -l parsen.

Aber muss es denn unbedingt ftp sein? Fuer Zeitsynchronisation gibt es NTP, das ist wesentlich besser geeignet (siehe http://search.cpan.org/~willmojg/Net-NTP-1.2/NTP.pm

Gruesse,
Moritz

Hallo

Wie kann ich in Perl das aktuelle Datum von einem FTP-Server
auf meinen Rechner laden?

Du musst imho schauen, ob der ftp-server
auch ein „Zeitserver“ (ntp) ist , dann
kannst Du die Zeit nach RFC-NTP heraus
ziehen

 use Net::NTP;

 # Zeit via ntp ziehen
 my %response = get\_ntp\_response('ntp.rz.uni-karlsruhe.de');
 # (statt ..uni-karlsruhe.de den gewuenschten Server angeben)

 print "$\_, $response{$\_}\n" for keys %response;
 my $servertime = $response{'Reference Timestamp'};

 # dann
 use DateTime;
 my $dt = DateTime-\>from\_epoch( 
 epoch =\> $servertime,
 time\_zone =\> 'Europe/Berlin' );
 print "\nServerzeit: $dt\n";

 # oder 
 use Time::Format qw(%strftime);
 print "$strftime{'%A, %B %d, %Y', $servertime}\n";
 # Formatierung wie Posix-strftime,
 # siehe http://www.opengroup.org/onlinepubs/009695399/functions/strftime.html

Grüße

CMБ