Thread Net::FTP kopieren mit Zeitstempel (17 answers)
Opened by bianca at 2011-02-22 09:45

bianca
 2011-02-22 19:30
#145863 #145863
User since
2009-09-13
6991 Artikel
BenutzerIn

user image
Hmmm, habe ein Problem.
Das folgende Script lädt sich selbst auf den Server hoch und versucht dann den Zeitstempel zu ändern.
Ich bekomme immer ein Response Code 5 zurück, weiß jemand was das bedeutet?
Und der Zeitstempel wird leider nicht geändert.
Hab es mit quot und site versucht.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/perl -w
use strict;
use warnings;
use Date::Calc qw (
    Localtime
);

my %env = (
    ftp_server          => 'bitte einsetzen',
    ftp_user            => 'bitte einsetzen',
    ftp_pass            => 'bitte einsetzen',
);

my $modul = 1;
eval "use Net::FTP; 1;" or $modul = 0;
if (!$modul) { die 'Modul >Net::FTP< kann nicht geladen werden!'; }
eval "use Net::FTP::File; 1;" or $modul = 0;
if (!$modul) { die 'Modul >Net::FTP::File< kann nicht geladen werden!'; }
my $ftp = Net::FTP -> new ($env{ftp_server},Debug => 0,Timeout => 60,Passive => 1) or die 'Verbindungsaufbau zum FTP Server fehlgeschlagen';
$ftp -> login ($env{ftp_user},$env{ftp_pass}) or die 'Login zum FTP Server fehlgeschlagen';
my $akt_ftp_verz = $ftp -> cwd ('/tmpdevelop') or die 'Verzeichniswechsel mißlungen';
$ftp -> ascii or die 'Umschaltung in ASCII-Modus fehlgeschlagen';
$ftp -> put ($0) or die 'Upload fehlgeschlagen';

my $timewert = '20110101000000';
print "Stempel muesste sein: $timewert\n";
my $ret = $ftp -> quot ('MFMT ' . $timewert . ' test_utime.pl') or die 'Sonderbefehl fehlgeschlagen';
print "Return: >$ret<\n";
my $neu = $ftp -> mdtm ('test_utime.pl');
$neu = sprintf ("%04d%02d%02d%02d%02d%02d",(Localtime ($neu))[0..5]);
print "Nachher : $neu => " . ($neu == $timewert ? 'RICHTIG' : 'FALSCH') . "\n";
$ftp -> quit;
10 print "Hallo"
20 goto 10

View full thread Net::FTP kopieren mit Zeitstempel