首页 > 编程 > Perl > 正文

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

2020-06-04 20:20:20
字体:
来源:转载
供稿:网友

本应用程序设计的几个基本理念是:
工具箱再利用:尽可能利用已有的工具;
简化运行步骤;不引入过多的业务逻辑,满足的需求越简单越好。

所以,我们定义了本应用程序依赖于以下几个工具的运行:
ActivePerl-5.8.4.810-MSWin32-x86
Upload.pl
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脚本运行有两个办法:
您可以在Windows计划任务中配置运行“Perl Upload.pl”的时间,这需要在Windows环境中配置ActivePerl 5.8.4.810;
您也可以利用Perl2Exe(p2x-8.40-Win32)来将perl脚本编译为一个exe可执行程序,在计划任务中运行这个exe(这需要PerlCRT.dll在系统路径下)。

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

在和perl脚本同一目录下的“Upload.config”配置文件中,是事先配置的六个外部参数:
参数1: ftp_server:
FTP服务器的IP地址。

参数2: ftp_dir:
指定的FTP上传目录路径;

参数3: ftp_uid:
FTP的登陆用户名;

参数4: ftp_pw:
FTP的登陆密码;

参数5: src_dir_WAVFiles,这是一个数组:
指定A类文件夹,放置所有要上传的语音文件;
注意:这个目录下的子文件夹也会被上传。

参数6: src_dir_NamesListFile,这是一个数组:
指定B类文件夹,放置B类文件.
注意:这个目录下的子文件夹也会被上传。

附录:
Upoad.pl内容:

代码如下:
#!/usr/bin/perl -w
##--------------------------------
#
# 工程项目: FTP自动上传两类文件

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表