3.3.1 自動起動プログラムを登録する
自動起動プログラムの登録の特長を次に示します。
- 伝送の正常終了時,異常終了時に,それぞれ別のプログラムを登録できます。
- 次のどちらかを対象に,プログラムを起動します。
- ファイル名
- 指定したファイルの伝送を契機にプログラムを起動する
- ディレクトリ名
- 指定されたディレクトリにファイルが伝送されたのを契機にプログラムを起動する
- 自動起動プログラムは,登録したユーザに対し,伝送が完了したのを契機に実行されます。特定のユーザではなく,登録された全ユーザに対して,自動起動をしたいときには,[ユーザ名]に「.default(デフォルトユーザ)」を登録します。
- [自動起動プログラムの登録一覧]ウィンドウで登録する場合,新規に登録する方法と,既存の登録情報をひな形として,登録内容を書き換え,別の登録情報として登録する方法があります。ftsautomaコマンドで登録する場合は,新規に登録する方法だけです。
[自動起動プログラムの登録一覧]ウィンドウで登録する方法と,ftsautomaコマンドで登録する方法を説明します。
- <この項の構成>
- (1) [自動起動プログラムの登録一覧]ウィンドウで登録する
- (2) ftsautomaコマンドで登録する
(1) [自動起動プログラムの登録一覧]ウィンドウで登録する
- [自動起動プログラムの登録一覧]ウィンドウで[編集]-[登録]-[ファイル対応の情報登録]または[ディレクトリ対応の情報登録]を選択する。または,既存の登録情報を指定し,[編集]-[登録]-[ファイル対応の情報登録]または[ディレクトリ対応の情報登録]を選択する。
[自動起動プログラムの登録]ダイアログボックスが表示されます。
図3-3 [自動起動プログラムの登録]ダイアログボックス(ファイル対応)
![[図データ]](figure/fu030300.gif)
- 各項目を設定し,[登録]をクリックする。
[取消]をクリックするまで,続けて複数の自動起動プログラムの設定ができます。
- 登録後,[取消]をクリックする。
[自動起動プログラムの登録]ダイアログボックスの各設定項目を,次の表に示します。
表3-3 [自動起動プログラムの登録]ダイアログボックスの設定項目
項目 | 設定内容 |
---|
ユーザ名 | 自動起動プログラムを登録するユーザ名を指定します。この項目は省略できません。 登録できるユーザは,次のユーザです。
- JP1/FTPにログインできるユーザ(OSに登録してあるユーザ)
- 「.default」(デフォルトユーザ)
JP1/FTPにログインできるすべてのユーザ(OSに登録してあるユーザ)を対象にする。個々のユーザに該当する登録情報がないときは,デフォルトユーザの登録情報を参照し,該当する項目があれば,自動起動をする。
- [ユーザ名]にすでに特定のユーザ名が指定されている場合
- [表示]-[指定ユーザの情報]で,ユーザが指定されている場合,特定のユーザ名が表示されます。[表示]-[全てのユーザの情報]を選択してください。
|
ファイル名/ディレクトリ名 ((1~256バイトの文字列)) | 自動起動の対象になるファイル名,またはディレクトリ名を指定します。 ファイル名を指定する場合は,フルパスまたはファイル名だけを指定します。ディレクトリ名を指定する場合は,フルパスを指定します。 ファイル名のパスは,シンボリックリンクを含むパスではなく,実パスを指定してください。 この項目は省略できません。 |
正常時に起動するプログラム名 異常時に起動するプログラム名 ((2~256バイトの文字列)) | 伝送の正常終了時,または異常終了時に,起動するプログラムを指定します。 起動するプログラム名は,フルパスで指定します。プログラムの起動時に,伝送情報を引数として渡せます。詳しくは,「引数キーワード」を参照してください。 |
- プログラム起動時の優先順位について
- 自動起動プログラムが複数登録されている場合,起動条件となる情報(ファイル名,ディレクトリ名)は同じで,起動するプログラムが異なるということがあります。その場合,次のような優先順位で検索し,最初の条件に合ったプログラムだけを起動します。優先順位を次の図に示します。
図3-4 自動起動プログラム起動時の優先順位
![[図データ]](figure/fu030400.gif)
- [正常時/異常時に起動するプログラム名]の指定について
- 引数に「¥」が含まれている場合,プログラムによっては,「¥」をエスケープ記号と解釈することがありますので,注意してください。
- 引数キーワード
- 自動起動プログラムに,引数キーワードを指定して,ユーザプログラムに全伝送終了情報を渡せます。また,キーワードを指定することで,個別の伝送終了情報を渡すこともできます。キーワードの一覧を次の表に示します。
表3-4 引数キーワード一覧
引数キーワード | キーワード出力内容 | クライアント(発信) | サーバ(着信) |
---|
ALL | すべての項目を出力 | ○ | ○ |
TRNO | 伝送番号 | ○ | ○ |
TCNO | 接続番号 | ○ | ○ |
CARD | カード名 | ○ | - |
HOST | 接続先ホスト名称またはIPアドレス | ○ | - |
接続クライアントIPアドレス | - | ○ |
PORT | 接続先ホストポート番号 | ○ | - |
USER | ログインユーザ名 | ○ | ○ |
TRTP | 伝送モード[ascii=1,binary=2] | ○ | ○ |
TRCM | 伝送コマンド[send=1,recv=2,append=3] | ○ | ○ |
COMP | 圧縮モード[stream=1,compress=2] | ○ | ○ |
LCFN | ローカルファイル名 | ○ | ○ |
RMFN | リモートファイル名 | ○ | - |
STTM | 伝送開始時間(time( )の戻り値) | ○ | ○ |
SPTM | 伝送終了時間(time( )の戻り値) | ○ | ○ |
TRSZ | 伝送データサイズ(バイト) | ○ | ○ |
CMNT | コメント | ○ | - |
TRST | 伝送終了状態[成功=1,失敗=2] | ○ | ○ |
ERKD | エラー種別[システムコールエラー=1,論理エラー=2,プロトコルエラー=3,強制終了エラー=4] | ○ | ○ |
SYCN | システムコール名称 | ○ | ○ |
ERNO | エラー番号 | ○ | ○ |
PLMG | プロトコルメッセージ | ○ | - |
- (凡例)
- ○:有効
- -:無効
- キーワードの指定について
- 上記表以外のものを指定した場合,または無効なキーを指定した場合は,指定したキーワードがユーザプログラムに直接渡されます。
- 引数指定例
- [自動起動プログラムの登録一覧]ウィンドウで登録する場合に,引数を指定した例を次に示します。
- 指定例
/users/keiri/PROC TRNO USER TRCM COMP TRSZ
- 上記の指定をした場合,次の形式でユーザプログラムを実行します。
- /users/keiri/PROC△12△keiri△1△2△30000(△:半角スペース)
- 伝送の接続番号:12
- ログインユーザ名:keiri
- 伝送コマンド:send
- 圧縮モード:圧縮
- 伝送データサイズ:30,000バイト
- プログラムの引数として情報を受け取れます。
- 標準入出力
- 標準入出力はクローズされます。なお,標準入出力をファイルに割り当てることができます。詳細については,「3.1.3 JP1/FTPの環境を環境変数で定義する」の「表3-2 環境変数一覧」に記載されている環境変数名JP1FTS_AUTO_STDIOを参照してください。
- プロセスの環境
- ログインしたユーザの.profileで設定される環境ではなく,JP1/FTPデーモンの環境となります。
- 複数ファイル伝送時のプログラム起動方法
- ワイルドカードを使用した複数ファイル伝送を行った場合,ファイル伝送の数だけ自動起動プログラムが起動します。自動起動プログラムに引き継ぐ情報は,1伝送毎の情報だけです。すべての伝送情報を一度に自動起動プログラムへ引き継ぐ事はできません。
(2) ftsautomaコマンドで登録する
新規に自動起動プログラムを登録するコマンドの例を,次に示します。
![[図データ]](figure/fu033030.gif)
次の情報を登録します。
- 対象はファイル(file)
- ユーザ名は「keiri」
- ファイル/ディレクトリ名は「file1」
- -AS:正常時に起動するプログラム名を「/home/keiri/normal.sh」
- -AF:異常時に起動するプログラム名を「/home/keiri/abnormal.sh」
ftsautomaコマンドについては,「6. コマンド」の「ftsautoma-自動起動プログラムの登録・削除・表示-」を参照してください。