<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    泰仔在線

    java學(xué)習(xí),心情日記,繽紛時刻
    posts - 100, comments - 34, trackbacks - 0, articles - 0

    AS/400上的FTP簡介

    Posted on 2008-10-04 11:26 泰仔在線 閱讀(995) 評論(0)  編輯  收藏 所屬分類: 網(wǎng)上沖浪
    FTP(文件傳輸協(xié)議)是TCP/IP中使用最廣泛的應(yīng)用之一,AS/400中的TCP/IP支持各種局域網(wǎng)、廣域網(wǎng)連接類型:EthernetToken-RingSDDIWireless LANX.25 SVC PVCFrame Relay。所有的計算機(jī)系統(tǒng)都非常重視文件操作,AS/400系統(tǒng)也不例外,本文件討論FTP的理論、FTP的配置、FTP命令集和在AS/400上如何使用FTP

     

    FTP是如何工作的?
    FTP
    是基于客戶-服務(wù)器模型而設(shè)計的,客戶和服務(wù)器之間利用TCP建立連接。與其他客戶-服務(wù)器模型不同的是,FTP客戶與服務(wù)器之間要建立雙重連接,一個是控制連接、一個是數(shù)據(jù)連接。建立雙重連接的原因在于FTP是一個交互會話系統(tǒng),某客戶每次調(diào)用FTP,便與服務(wù)器建立一個會話,會話以控制連接來維持,直至退出FTP。控制連接負(fù)責(zé)傳輸控制信息,尤其是客戶命令(比如文件傳輸命令等等)。利用控制命令,客戶可以向服務(wù)器提出無數(shù)次的請求(一個請求就是一個客戶命令)。客戶每提出一個請求,服務(wù)器再與客戶建立一個數(shù)據(jù)連接,進(jìn)行實際的數(shù)據(jù)(比如文件)傳輸。一但數(shù)據(jù)傳輸完成,數(shù)據(jù)連接會話就被撤銷,但控制連接依然存在,客戶可以繼續(xù)發(fā)出命令。直到客戶鍵入CLOSE命令撤消控制連接,再鍵入QUIT退出FTP會話,此時雙方控制進(jìn)程死亡。

    FTP連接的建立
    在一個FTP會話中,需要建立一個控制連接和若干個數(shù)據(jù)連接。
    建立控制連接的過程大家都很熟悉。FTP服務(wù)器的公認(rèn)端口是21,客戶控制進(jìn)程申請一個隨機(jī)分配的本地端口后,用常規(guī)的方法可以與服務(wù)器端口21建立一個相關(guān)。
    數(shù)據(jù)連接的建立就沒那么簡單了。在建立數(shù)據(jù)連接的過程中,客戶控制進(jìn)程反客為主,成為連接的接收者,而服務(wù)器數(shù)據(jù)傳輸進(jìn)程成了連接的請求者。作為一個新的子進(jìn)程,服務(wù)器傳輸進(jìn)程可以申請一個新的端口號建立自己的半相關(guān)(一般是利用FTP的保留端口號20 ),而它向哪個客戶端口發(fā)送連接請求呢?要知道客戶是沒有公認(rèn)端口的,這是就要利用到控制連接,客戶控制進(jìn)程通過控制連接告知服務(wù)器控制進(jìn)程自己的數(shù)據(jù)連接端口號,服務(wù)器控制進(jìn)程將它轉(zhuǎn)告自己的數(shù)據(jù)傳輸進(jìn)程,服務(wù)器數(shù)據(jù)傳輸進(jìn)程便可以利用它與客戶建立數(shù)據(jù)連。
     
    FTP
    命令集


     

    “!” “SYSCMD”:用戶可以在FTP模式中執(zhí)行本地AS/400的命令。在實際工作中,這一命令非常有用,你不用退出FTP模式就可以直接執(zhí)行本地AS/400的命令。

    “DIR” :列出遠(yuǎn)程AS/400某個目錄中的FilesMembers。若你執(zhí)行了“PUT”操作,用“DIR”命令查看是否將文件傳到了遠(yuǎn)程AS/400中。

    “PWD”:列出遠(yuǎn)程系統(tǒng)的當(dāng)前目錄中的FilesMembers

    “LPWD”:本地系統(tǒng)的當(dāng)前工作目錄中的FilesMembers

    “PUT”:將文件從本地系統(tǒng)發(fā)送到遠(yuǎn)程系統(tǒng)。

    “MPUT”:將多個文件從本地系統(tǒng)發(fā)送到遠(yuǎn)程系統(tǒng)。

    “GET”:將遠(yuǎn)程系統(tǒng)中的文件傳回到本地系統(tǒng)。

    “MGET”:將遠(yuǎn)程系統(tǒng)中的多個文件傳回到本地系統(tǒng)。

    “ASCII”:改變到ASCII模式。

    “BINARY”改變到BINARY模式。

    “EBCDIC”改變到EBCDIC模式。
    特別注意:將含有數(shù)值類型的文件,從AS/400發(fā)送到ASCII系統(tǒng)時,應(yīng)將文件中的數(shù)值子段改為ZONED類型,而不是PACKED類型,否則將發(fā)生不可預(yù)知的結(jié)果。

    “RENAME”:更改遠(yuǎn)程系統(tǒng)的文件名。

    “QUOTE”:執(zhí)行遠(yuǎn)程服務(wù)器端的命令而不用重新登錄遠(yuǎn)程系統(tǒng)。

    “LCD”
    :改變本地系統(tǒng)的當(dāng)前目錄。

    “CD”改變遠(yuǎn)程系統(tǒng)的當(dāng)前目錄。

    “CDUP”:進(jìn)入遠(yuǎn)程系統(tǒng)的父目錄。

    “LOCSTAT”:顯示本地狀態(tài)信息。

    配置AS/400 PTF服務(wù)器
    用戶要配置AS/400 PTF服務(wù)器,需要*IOSYSCFG特權(quán)。
    1.
    配置TCP/IP
    2.
    修改FTP屬性,CHGFTPA(對QUSRSYS/QATMFTP.CONFIG,數(shù)據(jù)庫文件修改)。


     

    主要參數(shù)說明:
    Autostart Servers:
    當(dāng)Autostart Servers*YES時,一旦TCP/IP啟動,FTP服務(wù)器也將自動啟動。

    Number of Initial servers: FTP服務(wù)器初始啟動數(shù)量。根據(jù)FTP的流量而定,初始值為3,一般足夠用了。

    Inactivity timeout:
    指出FTP客戶端與服務(wù)器端在多少秒沒有交互后,連接將斷開。卻省為300秒(5分鐘)。

    Coded character set identifier:
    缺省值為00819,所有被傳入的ASCII字符將被翻譯成EBCDIC 500 代碼頁。也可以制定你自己的轉(zhuǎn)換表。

    Initial name format:缺省值為*LIBL,將所有FTP服務(wù)器的命名形式設(shè)置為NAMEFMT= 0;若此值為*PATH,NAMEFMT=1

    Initial directory
    :缺省值為*CURLIB,以登錄FTP服務(wù)器的用戶的當(dāng)前目錄為FTP會話的目錄;若此值為*HOMEDIR時,FTP會話的目錄以用戶簡要表的HOMEDIR參數(shù)為準(zhǔn)。

    New file CCSID
    :指定用FTP創(chuàng)建文件的CCSID值。


    啟動/停止FTP服務(wù)器
    手工啟動FTP服務(wù)器,在AS/400命令行輸入:
    STRTCPSVR *FTP

    手工停止所有FTP服務(wù)器,在AS/400命令行輸入:
    ENDTCPSVR *FTP

    因為直接用ENDTCPSVR *FTP命令停止FTP服務(wù)器,用戶可能會丟失數(shù)據(jù),為了保證用戶不丟失數(shù)據(jù),應(yīng)按照以下步驟處理:
    1.
    AS/400的命令行輸入:
    WRKACTJOB SBS(QSYSWRK)
    查找是否有QTFTPxxxxxxxxxx代表5為數(shù)字)存在,若沒有,則可以執(zhí)行ENDTCPSVR *FTP命令;若有,則應(yīng)執(zhí)行第二步。
    2.
    確保沒有用戶登錄FTP服務(wù)器。AS/400的命令行輸入:
    NETSTAT *CNN
    查看是否有LOCAL PORT FTP-CON狀態(tài)為ESTABLISHED的連接存在,若沒有則可以執(zhí)行第三步;若有,應(yīng)等待用戶的FTP結(jié)束,在執(zhí)行第三步。
    3.
    AS/400的命令行輸入:
    ENDTCPSVR *FTP
    STRTCPSVR *FTP

    也可以通過操作導(dǎo)航器OPERATION NAVIGATOR)來實現(xiàn)FTP服務(wù)器的啟動/停止:
    1.
    打開操作導(dǎo)航器,路徑“Network"Servers"TCP/IP”
    2.
    用鼠標(biāo)右鍵點擊“FTP SERVER”
    3.
    來實現(xiàn)FTP服務(wù)器的啟動/停止。

    批方式FTP
    FTP
    被設(shè)計為交互式TCP/IP應(yīng)用,但AS/400也支持FTP批處理方式。
    FTP
    批處理運行方式,應(yīng)按照以下步驟進(jìn)行:
    1.
    創(chuàng)建一個CL程序來啟動FTP
    2.
    創(chuàng)建一個含有所有交互方式FTP命令的源物理文件的成員。
    3.
    提交批作業(yè)運行這個CL程序。
    4.
    檢查結(jié)果。

    下面具體討論一個例子來說明批方式FTP:
    1.
    創(chuàng)建一個CL程序
    使FTP命令可以運行在批方式下。
    CHGCMD CMD(QSYS/FTP) ALLOW(*ALL)
    將交互輸入方式改為批方式,從源物理文件成員(FTPCMDS)得到FTP命令,將FTP消息發(fā)往源物理文件成員(FTPLOG) OVRDBF FILE(INPUT) TOFILE(PFEIFFER/QCLSRC) MBR(FTPCMDS)
    OVRDBF FILE(OUTPUT) TOFILE(PFEIFFER/QCLSRC) MBR(FTPLOG)
    CL程序中登錄FTP FTP RMTSYS
    CL
    程序源代碼如下:
    Columns . . . : 1 71 Browse PFEIFFER/QCLSRC
    SEU==> FTPBATCH
    FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
    *************** Beginning of data ***********************************
    0001.00 PGM
    0002.00 CHGCMD CMD(QSYS/FTP) ALLOW(*ALL)
    0003.00 OVRDBF FILE(INPUT) TOFILE(PFEIFFER/QCLSRC) +
    0004.00 MBR(FTPCMDS)
    0005.00 OVRDBF FILE(OUTPUT) TOFILE(PFEIFFER/QCLSRC) +
    0006.00 MBR(FTPLOG)
    0007.00 FTP RMTSYS(LOOPBACK) /* (FTP CL Program) */ ˙A
    0008.00 DLTOVR FILE(INPUT OUTPUT)
    0009.00 ENDPGM
    ****************** End of data **************************************
    F3=Exit F5=Refresh F9=Retrieve F10=Cursor F12=Cancel
    F16=Repeat find F24=More keys


    2.
    創(chuàng)建FTP輸入文件。
    Columns . . . : 1 71 Browse PFEIFFER/QCLSRC
    SEU==> FTPCMDS
    FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
    *************** Beginning of data ***********************************
    0001.00 hans hans
    0002.00 close
    0003.00 open rchrs001
    0004.00 user root mozart
    0005.00 ascii
    0006.00 syscmd dltf file(hans/rs6)
    0007.00 get /tmp/ftpput.txt hans/rs6.rs6
    0008.00 close
    0009.00 open mvax
    0010.00 user tester test
    0011.00 get [tester.hans]ftpput hans/vax.vax (replace
    0012.00 close
    0013.00 open rchasm02
    0014.00 user hans hans
    0015.00 ebcdic
    0016.00 put hans/rs6.rs6 pfeiffer/rs6.rs6
    0017.00 quote rcmd sndnetf file(pfeiffer/rs6) tousrid((pfeiffer rchas149))
    0018.00 close
    0019.00 quit
    ****************** End of data **************************************
    F3=Exit F5=Refresh F9=Retrieve F10=Cursor F12=Cancel
    F16=Repeat find F24=More keys

    3. 創(chuàng)建 CL程序提交批作業(yè)(FTPBATCH
    Columns . . . : 1 71 Browse PFEIFFER/QCLSRC
    SEU==> FTPSUBMIT
    FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
    *************** Beginning of data ***********************************
    0001.00 PGM
    0002.00 SBMJOB CMD(CALL PGM(PFEIFFER/FTPBATCH)) +
    0003.00 JOB(FTPFRIDAY) OUTQ(PFEIFFER/PFEIFFER) +
    0004.00 SCDDATE(*FRI) SCDTIME(170000) /* FTP for +
    0005.00 Friday, 5:00 in the afternoon */
    0006.00 ENDPGM
    ****************** End of data **************************************
    F3=Exit F5=Refresh F9=Retrieve F10=Cursor F12=Cancel
    F16=Repeat find F24=More keys

    4.
    檢查FTPLOG文件就可以得知FTP是否成功。
    以下為FTP命令相應(yīng)的返回代碼,請對照它查看FTP是否成功、糾錯。
    Code Description
    110 Restart marker reply
    120 Service ready in nnn minutes
    125 Data connection already open; transfer starting
    150 File starting OK; about to open data connection
    200 Command OK
    202 Command not implemented; not used on this system
    211 System status, or system help reply
    212 Directory status
    213 File status
    214 Help message
    220 Service ready for new user
    226 Closing data connection; requested file action successful
    230 User logged in
    250 Requested file action okay, completed
    257 Path name created
    331 Password required
    332 Account required
    425 Cannot open data connection
    426 Connection closed; transfer ended abnormally
    450 Requested file action not taken; file busy
    451 Requested action ended abnormally; local error in processing
    452 Requested action not taken; insufficient storage in system space
    500 Syntax error; command unrecognized
    501 Syntax error in parameters or arguments
    502 Command not implemented
    503 Bad sequence of commands
    504 Command not implemented for that parameter
    530 Logon attempt rejected
    532 Need account for storing files
    550 Requested action not taken; file not found or no access
    551 Requested action ended abnormally; page type unknown
    552 Requested file action ended abnormally; exceeded storage allocation
    553 Requested action not taken; file name not allowed

    參考文獻(xiàn):
    V4 TCP/IP for AS/400:More Cool Things Than Ever
    TCP/IP Configuration and Reference
    AS/400 Information center:
    http://publib.boulder.ibm.com/html/as400/infocenter.html


     轉(zhuǎn)自:AS/400上的FTP簡介
    主站蜘蛛池模板: 亚洲1区1区3区4区产品乱码芒果| 成人福利在线观看免费视频| 午夜免费不卡毛片完整版| 国产精品亚洲lv粉色| 亚洲成色在线综合网站| 成年免费大片黄在线观看岛国| 免费一级全黄少妇性色生活片 | 免费看的黄色大片| 久久免费国产精品| 亚洲午夜在线播放| 亚洲日韩精品一区二区三区| 无码永久免费AV网站| 中文精品人人永久免费| 亚洲熟妇自偷自拍另欧美| 亚洲色WWW成人永久网址| 日韩一级视频免费观看| 秋霞人成在线观看免费视频| 国产亚洲综合一区二区三区| 久久久久亚洲av无码尤物| 日本视频免费在线| 99久久免费观看| 亚洲免费一区二区| 亚洲精品国产第一综合99久久| 亚洲国产精品自在线一区二区 | 亚洲AV成人潮喷综合网| 国产精品入口麻豆免费观看| 51午夜精品免费视频| 亚洲乱人伦中文字幕无码| 亚洲黄色网站视频| 亚洲一区二区三区AV无码| 国产精品麻豆免费版| 曰批视频免费30分钟成人| 精品在线免费观看| 国产成人自产拍免费视频| 亚洲av最新在线观看网址| 亚洲综合小说久久另类区| 亚洲精品无码久久久久sm| 丁香亚洲综合五月天婷婷| 午夜一级毛片免费视频| 成人免费黄色网址| 99精品一区二区免费视频|