当前位置: 首页 > 图文教程 > 脚本技术 > Perl > FTP自动上传文件的脚本以及配置文件

Perl
perl后门,正向和反向!实例代码
Perl模块编写说明
用perl写的单位电脑信息采集程序
冒充su ,perl写的su.pl盗取root密码
perl中5个常见错误
perl 中文处理技巧
只有一行的Perl程序
关于Perl里面正则表达式规范
Perl 获取shell命令的执行结果
Perl ASCII 字符判断
Perl Mysql数据库操作实现代码
PERL 正则表达式详细说明
python 获取命令行参数 函数
Perl5 OOP学习笔记
FTP自动上传文件的脚本以及配置文件
写了个perl的删除程序
perl常问题集合之一
perl常见问题集合之二
不错的mod_perl编程的简单应用实例介绍
[Perl]文字/代码批量替换工具

Perl 中的 FTP自动上传文件的脚本以及配置文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 322 ::
收藏到网摘: n/a

原文:http://blog.csdn.net/zhengyun_ustc/archive/2005/01/05/perlftpautoupload.aspx

本应用程序设计的几个基本理念是:

l 工具箱再利用: 尽可能利用已有的工具;

l 简化运行步骤; 不引入过多的业务逻辑,满足的需求越简单越好。

所以,我们定义了本应用程序依赖于以下几个工具的运行:

l ActivePerl-5.8.4.810-MSWin32-x86

l Upload.pl

l Upload.config

我们将主要的执行逻辑都放在Perl源文件Upload.pl中了,配置文件为Upload.config。

这个perl文件将执行的任务是, 按照指定的文件夹目录,自动将该文件夹下的所有文件上传到指定ftp站点的指定目录下。


这个Perl脚本实际是从Uwe Keim 的《Perl Script for uploading modified files to a FTP-Server》继承下来的,
只不过增加了容错反应和读取外部配置文件的部分,刨掉了与一般业务逻辑无关的读写access文件的部分。

程序大致的流程是:

第一步,尝试登陆ftp站点;

第二步,在指定文件夹A类下寻找符合条件的文件,并将A类文件上传到FTP站点指定目录下;

第三步,如果A类文件们全部上传成功,那么在指定文件夹B类下寻找指定文件, 并且上传到FTP指定目录下

第四步,写成功/失败日志。

最后,我们要写的成功/失败日志的格式如下所示:

成功: 生成一个名为“Upload_Succ_2005_01_04_17_23.log”的日志文件

文件格式:输出上传时间,以及所有上传文件名及其大小和耗费的时间。

失败: 生成一个名为“Upload_Fail_2005_01_04_17_23.log”的日志文件

文件格式:输出上传时间,以及已经上传的文件名及其大小和耗费的时间,和失败的文件名及原因。

配置perl脚本运行有两个办法:

u 您可以在Windows计划任务中配置运行“Perl Upload.pl”的时间,这需要在Windows环境中配置ActivePerl 5.8.4.810;

u 您也可以利用Perl2Exe(p2x-8.40-Win32)来将perl脚本编译为一个exe可执行程序,在计划任务中运行这个exe(这需要PerlCRT.dll在系统路径下)。

[注意!]在运行之前,您必须修改“Upload.config”文件以配置所需的重要参数。


外部配置参数

在和perl脚本同一目录下的“Upload.config”配置文件中,是事先配置的六个外部参数:

n 参数1: ftp_server:

n FTP服务器的IP地址。

n 参数2: ftp_dir:

n 指定的FTP上传目录路径;

n 参数3: ftp_uid:

n FTP的登陆用户名;

n 参数4: ftp_pw:

n FTP的登陆密码;

n 参数5: src_dir_WAVFiles,这是一个数组:

n 指定A类文件夹,放置所有要上传的语音文件;

n 注意:这个目录下的子文件夹也会被上传。

n 参数6: src_dir_NamesListFile,这是一个数组:

n 指定B类文件夹,放置B类文件.

n 注意:这个目录下的子文件夹也会被上传。


附录:
Upoad.pl内容:
#!/usr/bin/perl -w