automaticke stahovani z ftp
Ondrej Koala Vacha
koala na vju.cz
Středa Květen 26 20:01:13 MEST 2004
On Wed, 26 May 2004, Lubos Kolouch wrote:
> Dobry den vespolek,
>
> zakysl jsem na takovem problemu a potreboval bych pomoct.
>
> Musim napsat robota, ktery bude jednou dene (to vyresim pres
> cron) delat nasledujici:
>
> 1) prihlasit se na ftp
> 2) prejmenovat jeden soubor na ftp (treba EACEMIN) na EACEMIN20040526
> podle datumu, pokud tento soubor na ftp existuje
> 3) pokud ne, poslat mail na nejakou adresu
> 4) stahnout EACEMIN20040526 na lokal a ujistit se, ze se korektne
> stahl (asi z ftp response ok)
> 5) pokud byl ten prenos prerusen, pokusit se 5x navazat
> 6) pokud prenos dobehl ok, smazat EACEMIN20040526 z ftp serveru
> 7) pokud se nepodarilo 5x stahnout, poslat mail
>
> Vse mi je celkem jasne, ale nevim jak udelat bod 4) a 5), tj.
> jak pracovat s odpovedmi toho serveru.
>
> Zkousel jsem perldoc Net::FTP ale nenasel jsem tam, co potrebuji.
>
> Nevite nekdo jak napsat skript ktery by delal pozadovane?
>
neco podobneho jsem delal:
$ftp = Net::FTP->new($host,Timeout=>120,Passive=>1);
for my $k (qw/normal restart/) {
$remote_file = $ftp->put($file,$remote_file);
if ($remote_file) {
Log("Soubor $remote_file uložen");
last;
} else {
if ($k eq 'normal') {
$ftpOpen(); #znovu otevrit spojeni
next;
}
Log("přenos souboru $file se nezdařil")
}
}
--
Ondrej Koala Vacha
Další informace o konferenci Perl