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Б