使用perl的Net::FTP模块自动连接远程ftp

发布时间:2020-10-20编辑:脚本学堂
介绍:很多时候,我们需要从远处服务器上下载当天或者昨天生成的日志文件,来查看一些我们需要的东西或者备份。
如果采用了ftp,那么我们应该建立自动化的ftp方式,来方便

介绍:很多时候,我们需要从远处服务器上下载当天或者昨天生成的日志文件,来查看一些我们需要的东西或者备份。
如果采用了ftp,那么我们应该建立自动化的ftp方式,来方便我们的工作,下面我们将使用perl语言编写的,当然也可以用shell
以下的例子用到了perl的模块:Net::FTP。
 

复制代码 代码如下:

#!/usr/bin/perl
use Net::FTP;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime();
$year=$year+1900;  #显示为当前年份
$mon=$mon+1;       #显示为当前月份
 $mon = "0".$mon if ($mon < 10);   #显示月份为 01,02的格式
$sum="$year-$mon-$mday";  #显示时间 为 2008-12-22 这样的格式

$ftp = Net::FTP->new("hostname(IP地址)", Debug =>1);

$ftp->login('user(用户名)','passwd(密码)');
$ftp->binary;
$ftp->cwd("path(路径)");
 $ftp->get("$sum-filename(文件名)")  #比如 2008-12-22_text.txt
      or die "$!";

$ftp->quit;
 

可以使用linux下的crontag加入计划任务中执行。
例如,想早上5点半开始执行下载,则可以加入:
30 05 * * *  perl Ftp.pl
则以后程序就可以自动化ftp操作了。

以上内容,供学习参考,有关Net::FTP的更多内容,请参照cpan网站介绍,多多练习与提高。