#はじめに
FFFTP等のFTPツールを使ってz/OSのメンバーやUSS上のファイルを普段送ったり/取得したりしていると、ツールが無い環境でFTPしなければいけない時に意外と困ったりした経験があったので、覚書としていくつか方法を記載。
#コマンド プロンプトでFTP
####<前提>
z側にFTPのA/S(アドレス・スペース)が上がっている事が前提。
※分散系でいう、FTP daemon (process)が上がっているイメージ
####<手順>
コマンドプロンプトを開き、ftpコマンドでz/OSと接続し、TSOのUID/PWDでログイン
# ftp zos.ip.addr
USS上のファイルをput/getしたい場合はLinuxとかの時と同じ操作感で操作
※例: USS上のファイル(/u/soumei/hoge.txt)をget
ftp> cd /u/soumei <=対象のDirectoryへ移動
250 HFS directory /u/soumei is the current working directory
ftp> ls <= リスト
200 Port request OK.
125 List started OK
hoge.txt
250 List completed successfully.
ftp: 10 バイトが受信されました 0.00秒 10000.00KB/秒。
ftp> get hoge.txt <= get(mgetコマンドでも可)
200 Port request OK.
125 Sending data set /u/soumei/hoge.txt
250 Transfer completed successfully.
ftp: 11 バイトが受信されました 0.00秒 11000.00KB/秒。
####<個人的なMemo Point>
z/OSのPDSメンバーをput/getする場合は、cdコマンドの後に"//"をつけてあげる。
※例:SOUMEI.ZOS.JCLLIB(HOGE)をget
ftp> pwd
257 "/u/soumei" is the HFS working directory. <=上の例の続きで、今はUSS上にいる
ftp> cd //SOUMEI.ZOS.JCLLIB <= getしたいメンバーまでcd。
250 The working directory "SOUMEI.ZOS.JCLLIB" is a partitioned data set
ftp> pwd <= 移動できているか確認。
257 "'SOUMEI.ZOS.JCLLIB'" partitioned data set is working directory.
ftp> ls
200 Port request OK.
125 List started OK
CIFCTS51
CIFCTS52
CMNDDUMP
CPA52BKP
CPA53BKP
CTS52BKP
CTS53BKP
・・・・中略・・・
HOGE
IEBCOPY
IMPRTC21
・・・後略・・・
ftp> get HOGE hoge.txt <=おなじみの操作(Get)。個人的には拡張子をget時につけてあげる
200 Port request OK.
125 Sending data set SOUMEI.@OS.JCLLIB(HOGE) FIXrecfm 80
250 Transfer completed successfully.
ftp: 8 バイトが受信されました 0.00秒 8.00KB/秒。
#PCOMM(IBM Personal Communications)
メインフレームの世界といえば、3270エミュレーター。
PCOMMが提供する機能でもPUT/GETできます。
####<手順>
ISPFのCommand Shellで、APVUFILEもしくはIND$FILEコマンドを実行。
コマンドをここで書いても駄目で、PCOMMのメニューバーにある”ホストへファイル送信"と”ホストからファイルを受信”の2つのボタンがあるので、どちらかをクリック
PCOMMの画面イメージ
そうすると、こんな画面が出てきます。(*”ホストへファイル送信”*をクリックした場合)
参照(B)をクリックすると転送したいファイルを選択でき、転送先や転送タイプ(Binaryやtext)等を適宜選択し、送信(S)をポチっとやって完了。
オプション(O)ボタンをクリックすると、転送タイプのカスタマイズ(CRLFの制御であったり、レコード形式(可変長・固定長)とかの変更)ができます。
####<個人的なMemo Point>
ここで、「一般」タブのホストコマンド(O)でAPVUFILEもしくはIND$FILEを指定してあげます。
APVUFILEはz側に対応するモジュールを組み込む必要があるらしく、デフォルトでは使えないです。IND$FILEはデフォルトで入っているらしいので、こっちを指定しておけば大体大丈夫そう。
#最後に。。。
諸事情により、PCOMMのファイル転送についてあまり細かく書けていません。
画像の添付もイケてないので、時間をみつけてUpdateしていきたいと思います。
もう少しここが知りたいというのがあれば、ぜひ、コメントください。