Рекурсивная синхронизация ftp с использованием perl Net :: FTP мучительно медленная - PullRequest
2 голосов
/ 07 ноября 2010

Я написал что-то довольно простое для синхронизации моих файлов через ftp в perl

sub ftp_update {
    print "Checkin\' $_[0] \n";
    $ftp->cwd($_[0]);
    chdir $_[0];
    my @ls = $ftp->ls;

    foreach (@ls) {         
        ftp_update($_) if $ftp->isdir($_);

        next unless (! -e $_);

        if ($ftp->isfile($_)) {
            print "Gettin\' $_\n";
            $ftp->get($_);
        }               
    }
    $ftp->cdup;
    chdir "..";
}

Это работает нормально, но это мучительно медленно по сравнению с FileZilla.Даже если все обновлено, то есть не происходит никакой передачи файлов, это все же намного, намного медленнее, чем FileZilla.

Есть предложения?

1 Ответ

1 голос
/ 08 ноября 2010

Работает ли функция mirror() из LWP::Simple для схемы "ftp:"?В этом примере показаны "http:" и "gopher:", поэтому, возможно, он будет работать и для FTP.

Но мне любопытно - если у вас уже есть другая программа, которая делает то, что вам нужно, только то, что это такоечто ты ищешь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...