perl 远程取文件列表

来源:百度知道 编辑:UC知道 时间:2024/05/25 19:08:15
我的意思是,我的服务器上采集数据机器,我需要到另外一个服务器上获取某一个目录下的文件比如*.xml文件,拷贝到我的采集机上
$sourcedir (远程服务器的)$destdir采集机的目录
用Perl怎么写?我用telnet和ftp都不太好用
`ls $sourcedir`但是这个$sourcedir总是找采集机的路径而不是服务器的路径,请高手指点!
我写出来了,大概如下:
my $ftp_test=Net::FTP->new($host,Port=>"21",Timeout=>60,Debug=>0)||die"Can't connect: $@\n";
$ftp_test->login($user,$pawd)||die "Couldn't authenticate, even with explicit username and password.\n";
my @filelist=$ftp_test->ls($sourcedir);
print "@filelist\n";

foreach my $file(@filelist)
{
my $filelist=$sourcedir.$file;
print "$filelist\n";
my $destlist=$destdir.$file;
print "$destlist\n";

if($file=~/\S+\.pl$/)
{
$ftp_test->get($filelist,$destlist);
}
}

你再增加一点说明信息吧,没太看懂你说的“$sourcedir总是找采集机的路径而不是服务器的路径”。这个不会有问题的,除非你写错了。
另外你的需求很容易实现的,我是用telnet登录到其他服务器上,在cat文件,把文件内容取回来的。这个没有问题,可以实现的。ftp只能在直连的时候有用,多次跳转的就不行了。