本應用程序設計的幾個基本理念是:
工具箱再利用:盡可能利用已有的工具;
簡化運行步驟;不引入過多的業務邏輯,滿足的需求越簡單越好。
所以,我們定義了本應用程序依賴于以下幾個工具的運行:
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自動上傳兩類文件
|
新聞熱點
疑難解答