加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl自动ftp的方法(Linux版本,Net::FTP)

发布时间:2020-12-16 00:32:41 所属栏目:大数据 来源:网络整理
导读:在很多情况下,我们需要从远处服务器上下载当天或者昨天生成的日志文件,来查看一些我们需要的东西或者备份。 ??? 如果采用了ftp,那么我们应该建立自动化的ftp方式,来方便我们的工作,下面我们将使用perl语言编写的,当然也可以用shell。 ??? 利用了perl的
在很多情况下,我们需要从远处服务器上下载当天或者昨天生成的日志文件,来查看一些我们需要的东西或者备份。
??? 如果采用了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;

保存后。给文件加上执行。利用 chmod命令。(我们暂时把执行文件叫做 Ftp.pl)
在来设置例行性命令? 利用crontab命令。
比如 你想早上5点半开始执行下载。则加入
30 05 * * *? perl Ftp.pl

保存。则程序就开始自动化ftp了。

$ftp->put("$sum-filename(文件名)")? #比如 2008-12-22_text.txt? 为上传
????? or die "$!";


##################################

use Net::FTP; $ftp=Net::FTP->new("$FTP_ADDR",Timeout=>30) or die "Could not connect.n"; #登录到FTP $ftp->login($FTP_username,$FTP_pass) or die "Could not login.n"; #切换目录 $ftp->cwd("/$FTP_dir[0]"),$FTP_error=$ftp->message; if ( $FTP_error =~ /Failed/){ print? "FTP返回目录不存在错误信息,开始创建目录$FTP_dir[0]...,n"; $ftp->mkdir($FTP_dir[0]); print "$FTP_dir[0]目录创建完毕..并切换到目录创建目录,n"; $ftp->cwd("/$FTP_dir[0]"); print "开始上传文件$file...n"; $ftp->put($file) or die "上传$file失败。。。,n"; $ftp->put($charactorfile) or die "上传$charactorfile失败。。。,n"; $ftp->put($accountfile) or die "上传$accountfile失败。。。,n"; $ftp->quit; } else { $ftp->put($file) or die "上传$file失败。。。,n"; $ftp->quit; } print "上传文件$file,$charactorfile,$accountfile至FTP的$FTP_dir[0]完成。。。,n";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读