AS/400上的FTP
上的FTP
FTP是如何工作的
FTP是基於客戶-伺服器模型而設計的。客戶和伺服器之間利用TCP直接連線。與其它客戶-伺服器模型不同的是:FTP客戶與伺服器之間是要建立雙重連線:一個是控制連線,一個是資料連線。建立雙重連線的原因在於FTP是一個互動會話系統,某客戶每次呼叫FTP,便與伺服器建立一個會話,會話以控制連線來維持,直到退出FTP。控制連線負責傳輸控制資訊,尤其是客戶客戶命令(比如檔案傳輸命令等等)。利用控制命令,客戶可以向伺服器提出無數次的請求(一個客戶命令就是一個請求)。客戶每提出一個請求,伺服器再與客戶建立一個資料連線,進行實際的資料(比如檔案)傳輸。一旦資料傳輸完成,資料連線會話就被撤銷,但控制連線依然存在,客戶可以繼續發出命令。直到牢記鍵入CLOSE命令撤銷控制連線,再鍵入QUIT退出FTP會話。此時雙方控制程式就不再存在了。
FTP連線的建立
在一個FTP會話中,需要建立一個控制連線和若干個資料連線。
建立控制連線的過程大家都很熟悉。FTP伺服器的公認埠是21。客戶控制程式申請一個隨機分配的本地埠後,用常規的方法可以與伺服器埠21建立一個連線。
資料連線的建立就沒有那麼簡單了。在建立資料連線的過程中,客戶控制程式反客為主,成為連線的接收者,而伺服器資料傳輸程式成了連線的請求者。作為一個新的子程式,伺服器傳輸程式可以申請一個新的埠號來建立自己的相關連線(一般是利用FTP的保留埠號20),而它向哪個客戶埠傳送連線請求呢?要知道客戶是沒有公認埠的,這時就要利用到控制連線,客戶控制程式透過控制連線告知伺服器程式自己的資料連線埠號,伺服器控制程式將它轉告自己的資料傳輸程式,伺服器資料傳輸程式便可以利用它與客戶建立資料連線。
FTP命令集
“!”或者“*SYSCMD”:使用者可以在FTP模式中執行本地AS/400的命令。在實際工作中,這一命令非常有用,你不用退出FTP模式就可以直接執行本地AS/400的命令。
“DIR”:列出遠端AS/400某個目錄中的FILES和MEMBERS。若你執行了“PUT”操作,用“DIR”命令檢視是否將檔案傳到了遠端AS/400中。
“PWD”:列出遠端系統的當前目錄中的FILES和MEMBERS。
“LPWD”:列出本地系統的當前工作目錄中的FILES和MEMBERS。
“PUT”:將檔案從本地系統傳送到遠端系統。
“MPUT”:將多個檔案從本地系統傳送到遠端系統。
“GET”:從遠端系統傳檔案到本地系統。
“MGET”:從遠端系統傳多個檔案到本地系統。
“ASCII”:改變到ASCII模式。
“BINARY”:改變到BINARY模式。
“EBCDIC”:改變到EBCDIC模式。
特別注意:將含有數值型別的檔案從AS/400傳送到ASCII系統時,應將檔案中的數值欄位改為ZONED型別,而不是PACKED型別,否則將發生不可預測的結果。
“RENAME”:更改遠端系統中的檔名。
“QUOTE”:執行遠端伺服器端的命令而不用重新登入遠端系統。
“LCD”:改變本地系統的當前目錄。
“CD”:改變遠端系統的當前目錄。
“CDUP”:進入遠端系統的父目錄。
“LOCSTAT”:顯示本地狀態資訊。
配置AS/400 FTP伺服器
使用者要配置AS/400 FTP伺服器中,需要有*IOSYSCFG特權。
A、配置TCP/IP。
B、修改FTP屬性。 命令是CHGFTPA(對QUSRSYS/QATMFTP.CONFIG資料庫檔案進行修改)。
主要引數說明:
Autostart Servers : 當Autostart Servers為*YES時,一旦TCP/IP啟動,FTP伺服器也將自動啟動。
Number of Initial Servers: FTP伺服器初始啟動數量。根據FTP的流量而定,初始值為3一般就足夠用了。
Inactivity Timeout: 指出FTP客戶端與伺服器端在多少秒沒有互動後,連線將自動斷開。預設值為300秒(5分鐘)。
Coded character set identifyier: 預設值為00819,所有被傳入的ASCII字元將被翻譯成EBCDIC 500內碼表。也可以制定你自己的轉換表。
Initial name format: 預設值為*LIBL,將所有FTP伺服器的命名形式設為NAMEFMT=0;若此值為*PATH,則NAMEFMT=1。
Initial directory: 預設值為*CURLIB,以登入FTP伺服器的使用者的當前目錄為FTP會話的當前目錄;若此值為*HOMEDIR時,FTP會話的目錄以使用者簡要表的HOMEDIR引數為準。
New file CCSID: 指定使用者FTP建立檔案的CCSID值。
啟動與停止FTP伺服器
手工啟動FTP伺服器,在AS/400命令列輸入:
STRTCPSVR *FTP
手工停止所有FTP伺服器,在AS/400命令列輸入:
ENDTCPSVR *FTP
注意:
因為直接用ENDTCPSVR *FTP命令停止FTP伺服器,使用者可能會丟失資料,為了保證使用者不丟失資料,應該按照以下步驟進行處理:
A、在AS/400的命令列輸入:
WRKACTJOB SBSD(QSYSWRK)
查詢是否有QTFTPxxxxx(xxxxx代表5位數字)存在,若沒有,則可以執行ENDTCPSVR *FTP命令;若有,則黑心做下一步。
B、確保沒有使用者登入FTP伺服器。在AS/400的命令列輸入:
NETSTAT *CNN
查詢是否有LOCAL PORT為 FTP-CON狀態為ESTABLISHED的連線存在,若沒有則可以執行下一步;若有,應該等等使用者的FTP結束後再執行下一步。
C、在AS/400的命令列鍵入:
ENDTCPSVR *FTP
批方式FTP
FTP被設計為互動式TCP/IP應用,但AS/400也支援FTP批處理方式。
FTP批處理方式應該按照如下步驟來進行:
3.2.5 建立一個CL程式來啟動FTP。
3.2.5 建立一個含有所有互動方式FTP命令的源物理檔案的成員。
3.2.5 提交批作業執行這個CL程式。
檢查結果。[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/52450/viewspace-993889/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ftp上傳軟體,好用的ftp上傳軟體,使用方法FTP
- 定時ftp上傳,如何設定定時ftp上傳檔案FTP
- ftp上傳工具下載,ftp上傳工具下載使用教程,Linux如何配置ftp伺服器?FTPLinux伺服器
- PHP ftp上傳檔案PHPFTP
- Raspberry Pi 400上安裝vscodeVSCode
- FCKeditor 上傳ftp asp.netFTPASP.NET
- c# 上傳FTP檔案C#FTP
- ftp下載其他電腦上的東西FTP
- ftp上傳的檔案指定許可權FTP
- Centos7上進行ftp配置CentOSFTP
- expdp備份+FTP自動上傳FTP
- 利用ftp自動上傳檔案FTP
- ftp上直接修改檔案內容FTP
- 北大FTP,除了北大FTP其他好用的FTP軟體FTP
- Ubuntu上ftp的vsftpd.conf檔案的配置UbuntuFTP
- 如何快速提升ftp的上傳速度_from_windows_to_solarisFTPWindows
- 從ftp上傳下載檔案(二)FTP
- 從ftp上傳下載檔案(一)FTP
- C# FTP 上傳 下載(彙總)C#FTP
- 用java+ftp實現檔案上傳的問題?JavaFTP
- Windows 機器通過 FTP 上傳檔案WindowsFTP
- FTP上傳檔案速度太慢怎麼辦?FTP
- Qt5.X FTP上傳與下載QTFTP
- Java上傳檔案到ftp伺服器JavaFTP伺服器
- php通過ftp協議上傳檔案PHPFTP協議
- 替換用FTP傳到Unix上的檔案中的^M字元FTP字元
- FTP,FTP連線的辦法,配置方式FTP
- python寫的FTP簡單上傳下載檔案薦PythonFTP
- Cesium載入ArcGIS Server4490且orgin -400 400的切片服務Server
- Linux基礎命令---mput上傳ftp檔案LinuxFTP
- 免費的FTP工具,免費的FTP工具下載!FTP
- ftp 上的tnsname.ora有可能有問題,造成連線不上資料庫FTP資料庫
- securecrt上傳檔案到linux(rz與ftp工具的比對)SecurecrtLinuxFTP
- ftp的passive模式FTP模式
- ftp工具,6款好用的ftp工具,來自運維人員好用的ftp工具推薦。FTP運維
- C# FTP上傳下載(支援斷點續傳)C#FTP斷點
- C# 上傳下載ftp(支援斷點續傳)C#FTP斷點
- Linux下透過FTP上傳資料備份LinuxFTP