perl实现ftp文件上传下载自动化

在很多情况下,我们需要从远处服务器上下载当天或者昨天生成的日志文件,来查看一些我们需要的东西或者备份。
如果采用了ftp,那么我们应该建立自动化的ftp方式,来方便我们的工作,下面我们将使用perl语言编写的,当然也可以用shell。
利用了perl的模块:Net::FTP。
#!/usr/bin/perl
use Net::FTP;
my ( s e c , sec, sec,min, h o u r , hour, hour,mday, m o n , mon, mon,year, w d a y , wday, wday,yday,$isdst)=localtime();
y e a r = year= year=year+1900; #显示为当前年份
m o n = mon= mon=mon+1; #显示为当前月份
m o n = " 0 " . mon = "0". mon="0".mon if ($mon < 10); #显示月份为 01,02的格式
s u m = " sum=" sum="year- m o n − mon- monmday"; #显示时间 为 2008-12-22 这样的格式

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

$ftp->login(‘user(用户名)’,‘passwd(密码)’);
$ftp->binary;
$ftp->cwd(“path(路径)”);
f t p − > g e t ( " ftp->get(" ftp>get("sum-filename(文件名)") #比如 2008-12-22_text.txt
or die “$!”;

$ftp->quit;

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

f t p − > p u t ( " ftp->put(" ftp>put("sum-filename(文件名)") #比如 2008-12-22_text.txt 为上传
or die “$!”;

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

use Net::FTP;
f t p = N e t : : F T P − > n e w ( " ftp=Net::FTP->new(" ftp=Net::FTP>new("FTP_ADDR",Timeout=>30) or die “Could not connect.\n”;
#登录到FTP
f t p − > l o g i n ( ftp->login( ftp>login(FTP_username,$FTP_pass) or die “Could not login.\n”;
#切换目录
f t p − > c w d ( " / ftp->cwd("/ ftp>cwd("/FTP_dir[0]") , F T P e r r o r = FTP_error= FTPerror=ftp->message;
if ( KaTeX parse error: Expected '}', got 'EOF' at end of input: …录不存在错误信息,开始创建目录FTP_dir[0]…,\n";
f t p − > m k d i r ( ftp->mkdir( ftp>mkdir(FTP_dir[0]);
print “$FTP_dir[0]目录创建完毕…并切换到目录创建目录,\n”;
f t p − > c w d ( " / ftp->cwd("/ ftp>cwd("/FTP_dir[0]");
print “开始上传文件$file…\n”;
f t p − > p u t ( ftp->put( ftp>put(file) or die “上传$file失败。。。,\n”;
f t p − > p u t ( ftp->put( ftp>put(charactorfile) or die “上传$charactorfile失败。。。,\n”;
f t p − > p u t ( ftp->put( ftp>put(accountfile) or die “上传$accountfile失败。。。,\n”;
$ftp->quit;
}
else
{
f t p − > p u t ( ftp->put( ftp>put(file) or die “上传$file失败。。。,\n”;
f t p − > p u t ( ftp->put( ftp>put(charactorfile) or die “上传$charactorfile失败。。。,\n”;
f t p − > p u t ( ftp->put( ftp>put(accountfile) or die “上传$accountfile失败。。。,\n”;
KaTeX parse error: Expected 'EOF', got '}' at position 12: ftp->quit; }̲ print "上传文件file, c h a r a c t o r f i l e , charactorfile, charactorfile,accountfile至FTP的$FTP_dir[0]
完成。。。,\n";

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值