Über Perl Dateien von FTP-1 auf FTP-2 speichern

Naja, die PHP-Lösung lädt ja immer nur *eine* Datei hoch...

Das *herunterladen* mit dem Perl-Skript sollte ungefähr so gehen:
Code:
#!/usr/bin/perl

use strict;
use warnings;
use Net::FTP;
use File::Listing;  # importiert parse_dir()

my $host = 'gameserver';
my $user = 'username';
my $password = 'password';

my $ftp = Net::FTP->new(
    $host,
    Timeout => 360,
    Debug   => 1,
    Passive => 1,
) or die "Can't create Net::FTP-Object\n";


$ftp->login($user,$password) || die "Can't login $!";

# Skalarer Kontext für $ftp->dir()
my $entry_ref = parse_dir($ftp->dir("80109/*/*/*.*"));

foreach my $entry (@$entry_ref) {
    my ($name, $type, $size, $mtime, $mode) = @$entry;

    # keine PunktDateien
    next if ($name =~ /^\./);

    if ($type eq 'f') {
        $ftp->get($name);
    } 
} ## foreach

$ftp->quit();
 
boah danke renee, es funktioniert. eine frage noch: kann ich das script so einrichten dass es die dateien die es schon mal runtergeladen hat nicht noch einmal runterlädt?
 
Zuletzt bearbeitet:
Klar kannst Du das machen. Nach dem
Code:
        $ftp->get($name);
einfach noch ein
Code:
        $ftp->delete($name);
einfügen...
 

Neue Beiträge

Zurück