#!/usr/bin/perl
use warnings;
use strict;
use Net::FTP;
use Log::Log4perl qw(get_logger); #use log4perl model
use Date::Simple ('date');
use File::Glob ':glob';#directory operation model
my $host="192.168.25.214";
my $usrname="root";
my $pwd="passwd";
my $path="/root/test/tttt";
my @ftpfilenames;
my @ppth;
&ftpdownload($host,$usrname,$pwd,$path);
print "ok!\n";
sub ftpdownload
{
my $newerr = 0;
my ($host,$username,$pwd,$path)=@_;
my $ftp = Net::FTP->new($host,Debug =>0) or $newerr=1;
if($newerr)
{
print "create ftp sever fail\n";
return 0;
}
$ftp->login($username,$pwd) or $newerr=1;
if($newerr)
{
print "login ftp sever fail\n";
return 0;
}
$ftp->cwd($path) or $newerr=1;
if($newerr)
{
print "change the path $path fail\n";
return 0;
}
$ftp->binary() or $newerr=1;
if($newerr)
{
print "change binary fail\n";
return 0;
}
#@ppth = $ftp->ls($path);
#foreach(@ppth)
# {
# my $ppath = $_;
# $ftp->cwd($ppath) or $newerr=1;
# if($newerr)
# {
# print "change! $ppath fail\n";
# return 0;
# }
# }
$ftp->binary() or $newerr=1;
if($newerr)
{
print "change binary fail\n";
return 0;
}
@ftpfilenames = $ftp->ls();
#my $oriname;
#my $getresult = $ftp->get($oriname);
foreach(@ftpfilenames)
{
my $filename = $_;
my $oriname= $filename;
my $getresult ="";
my $destname = "$host\_$oriname";
$getresult = $ftp->get($oriname,$destname);
if(defined($getresult))
{
print "get $oriname success from $host\n";
}
else
{
print "get $oriname fail from $host\n";
}
}
$ftp->quit;
}
|