最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

19.14.バッチFTPサンプル

[ Previous ] [ HOME ] [ Upper ] [ Next ]


1.ソースファイルのあるメンバーに以下のように登録します。

例:

ソースファイル:FTPCMD, ソースメンバー:FTP001

通常のFTPコマンドです。ここでは、SAVFの転送を例にしていますので、binary転送(無変換転送)です。

 *****************  データの始め  ************************************** 
 ユーザー名 パスワード
 QUOTE SITE NAMEFMT 1                                                    
 BINARY                                                                  
 PUT QGPL/AAA.SAVF    /QSYS.LIB/KAKEFUDA.LIB/AAA.SAVF                    
 QUIT                                                                    
 *****************  データの終り  ************************************** 
                                                                                

※上記のテキストをRPGで作成するようなツールを作れば、便利ですね。転送したいファイル名、ライブラリー名、GETかPUTかなどを渡すと、それを転送するFTPコマンドができると言うわけです。

2.以下のようなCLPを作成します。

   *****************  データの始め  ************************************** 
   PGM                                                                     
                                                                         
   OVRDBF     INPUT   TOFILE(FTPCMD)  MBR(FTP001)                       
   OVRDBF     OUTPUT  TOFILE(FTPLOG)  MBR(FTP001)                       
                                                                         
   FTP        RMTSYS('xxx.xxx.xxx.xxx')                                  
                                                                         
   DLTOVR   ( INPUT   OUTPUT )                                          
                                                                         
   RETURN                                                                  
   ENDPGM                                                                  
   *****************  データの終り  ************************************** 

このCLPをバッチ投入すれば、バッチでFTPが実行できます。実行結果は、FTPLOGの指定メンバーに落ちます。

また、FTPコマンドの中で、

ローカルシステムで実行するコマンドは、SYSCMD
リモートシステムで実行するコマンドは、QUOTE RCMD

です。

 *****************  データの始め  ************************************** 
 ユーザー名 パスワード                                                    
 SYSCMD DSPLIB KAKEFUDA                                                  
 QUOTE RCMD DSPLIB KAKEFUDA                                              
 QUIT                                                                    
 *****************  データの終り  ************************************** 

このFTPコマンドを上記のCLPのINPUTのソースメンバーで指定して、そのCLPをバッチ投入すれば、ローカル、リモートと処理を実行します。

参考:マニュアル

TCP/IP 構成および解説書

7.0 第7章 ファイル転送プロトコル (FTP) クライアント

※マニュアル「TCP/IP 構成および解説書」から「21.5.4 FTP サーバー・ジョブ・ログのコピーの入手」より

FTP サーバーで発生するエラーの詳細説明を得るには、FTP サーバーのジョブ・ログのコピーが必要となる場合があります。FTP クライアントから次のサブコマンドを発行すると、サーバーはそのジョブ・ログのスプール・ファイルを作成します。

QUOTE RCMD DSPJOBLOG

追記 2000-1-6

OUTPUTで出てくる3桁コードの意味は、FTP サーバーの応答状況メッセージを見てください。

FTP サーバー・サブコマンドも参考にどうぞ。「AS/400 サーバー・サブコマンドには、実際は AS/400 CL コマンドと同等ですが、形の上では短い省略形である、一連の特殊なコマンドがあります。これらの特殊なサーバー・サブコマンドは、FTP のアーキテクチャー限界に合わせて、4 文字にする必要があります。」とのこと。

関連記事:13.10.FTPで遠隔からコマンド実行 2002-2-28

2001-1-1


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送