4.2.3 ファイル転送部品
機能
ファイルまたはフォルダを,JP1/AOサーバから操作対象の機器に転送したり,操作対象の機器からJP1/AOサーバに転送したりできます。ファイルはbinary形式で転送されます。
事前に認証情報を[エージェントレス接続先定義]エリアで設定している場合は,ファイル転送部品に次の情報を指定して実行できます。
-
操作対象の機器(プロパティ「remoteHost」)
-
転送モード(プロパティ「transferMode」)
-
JP1/AOサーバのファイルまたはフォルダのパス(プロパティ「localFilePath」)
-
操作対象の機器のファイルまたはフォルダのパス(プロパティ「remoteFilePath」)
エージェントレス接続先に転送するファイルパスには,JP1/AOサーバのOSと操作対象の機器のOSの両方のコマンドに入力できる文字を指定してください。例えば,JP1/AOサーバのOSと操作対象の機器のOSが両方とも日本語版のWindowsの場合,MS932の文字セットの範囲の文字が指定できます。
操作対象の機器のOSがWindowsの場合は,認証情報に設定したユーザーでファイルが転送されます。操作対象の機器のOSがUNIXの場合は,プロパティ「elevatePrivileges」の指定によって,rootユーザーまたは接続ユーザーの権限でファイルが転送されます。
なお,ローカル実行機能が有効の場合は,ファイルは転送されません。ローカルホストのOSがWindowsのときは,Systemアカウントの権限でローカルホストにコピーされます。ローカルホストのOSがLinuxのときは,rootユーザーの権限でローカルホストにコピーされます。
部品のバージョンが01.52.01より前の部品との機能差異については,「付録A.1 基本部品のバージョン間の機能差異」を参照してください。
実行時の前提条件
-
エージェントレス接続先として使用できる操作対象の機器については,「付録A.1(3) エージェントレス接続先として使用できる操作対象の機器」を参照してください。
-
操作対象の機器のOSによって,次のとおり設定してください。
- Windowsの場合
-
-
JP1/AOサーバおよび操作対象の機器で,通信に使用するポートを通過できるよう設定してください。通信で使用するポート番号については,マニュアル「JP1/AO 導入・設計ガイド」を参照してください。
-
ファイル転送部品を実行する場合,操作対象の機器の管理共有の設定を有効にしてください。詳細については,マニュアル「JP1/AO 導入・設計ガイド」を参照してください。
-
- UNIXの場合
-
-
SSHで使用するポート番号は,接続先プロパティファイル(接続先名.properties)またはユーザー設定プロパティファイル(config_user.properties)で設定できます。
-
操作対象の機器に,SCPもしくはSFTPに対応したSSHサーバを構築してください。
-
-
ファイル転送部品を実行する際に,操作対象機器のOSに,あらかじめインストールされている必要のあるコマンドがあります。詳細は,リリースノートを参照してください。
注意事項
-
操作対象の機器のOSによって,実行方式が異なります。Windowsの場合はSMBとRPC,UNIXの場合はSSHとSCPもしくはSFTPを使用します。エージェントレス接続先定義のプロトコルを選択する際にはWindowsの場合はWindows,UNIXの場合はSSHを選択してください。
-
JP1/AOサーバのOSがLinuxで,かつ操作対象の機器のOSがWindowsの場合は,接続先にIPv6アドレスを指定できません。
-
ファイル転送可能な合計ファイルサイズの上限は4GBです。
-
一度に転送可能なファイル/フォルダの数の上限は10000です。
-
ファイル受信時にすでにローカル側に同名のファイルがあり,上書きする場合は,上書きされるファイルの属性に「読み取り専用」,「隠しファイル」,「システムファイル」のどれかの属性が付いていると上書きができないため,ファイル転送に失敗します。
-
WindowsのUNCパスとネットワークドライブを転送元または転送先に指定できません。
-
JP1/AOがインストールされたマシンと接続先ホストのディスク空き容量として,指定した転送先以外に,一時的な作業領域として最大で転送対象のファイルまたはフォルダの2倍の容量の空き容量が必要となります。一時的な作業領域については,それぞれ次のとおりです。
-
JP1/AOがインストールされたマシン(非クラスタ環境)については,JP1/AO がインストールされているドライブ
-
JP1/AOがインストールされたマシン(クラスタ環境)については,共有ディスク
-
接続先がWindowsの場合は,システムドライブ
-
接続先がUNIXの場合は,ユーザー設定プロパティファイル(config_user.properties)のキー「plugin.remoteCommand.workDirectory.ssh」で指定したフォルダ
-
-
制限値(ファイルシステムによる1ファイルのサイズ上限,1フォルダあたりのファイル数,ファイル名またはフォルダ名の長さの制限,ユーザーが使用できる資源のOSによる制限など)は,JP1/AOの制限値よりも,OSの制限値が優先されます。OSの制限値を超えるファイル転送は,製品サポートの対象外です。制限値が影響するOSは,JP1/AOサーバおよび操作対象機器のOSです。ユーザーが使用できる資源のOSによる制限は,接続ユーザーとrootの権限に設定された制限に依存します。rootの権限に設定された制限に依存するのは,UNIXの場合です。
-
接続先がUNIXの場合,転送対象としてフォルダを指定すると,フォルダ配下のファイルサイズの合計が,1ファイルのサイズの上限を超えるとき,ファイル転送がエラーで終了することがあります。1ファイルのサイズ上限とは,ファイルシステムによる制限や,ユーザーが使用できる資源のOSによる制限を指します。 JP1/AOでは,ファイル転送時に,転送対象のファイルまたはフォルダを圧縮ファイルにするため,フォルダ配下の個々のファイルが接続先ホストの制限値未満であっても,圧縮したファイルが接続先ホストの制限値を超えてしまうことがあります。この場合は,転送対象のフォルダ配下にあるファイルの合計サイズを小さくするか,制限値を大きくする必要があります。
-
部品の実行中にタスクを実行停止した場合は,ファイル転送部品の処理が完了してからタスクの状態が「失敗」または「正常終了」になります。部品の実行が終了したときのステップおよびタスクの状態は,ステップの戻り値および後続ステップ実行条件によって決まります。後続ステップ実行条件は,[ステップ作成]ダイアログボックスまたは[ステップ編集]ダイアログボックスで設定できます。
-
部品の実行中にタスクを強制停止した場合は,実行中の処理が直ちに終了され,タスクの状態が「失敗」になります。なお,[タスク]画面の[フロー]エリアに表示されるステップの戻り値は,80になります。タスクログに出力される戻り値は,強制停止したタイミングによって異なります。
-
部品の実行中にタスクを強制停止した場合,ファイル転送の実行結果については製品サポートの対象外となります。
バージョン
01.52.01
タグ
File Operations
戻り値
戻り値 |
説明 |
---|---|
0 |
正常に終了した。 |
65 |
JP1/AOサーバとの接続に失敗した。例えば,部品実行中にJP1/AOサーバが停止された場合が該当する。 |
66 |
次のユーザーがJP1ユーザーにマッピングされている。
|
68 |
対象のジョブ実行IDに関する情報がない。 |
69 |
タスク処理エンジンの環境変数の取得に失敗した。 |
70 |
操作対象の機器と接続に失敗した。 |
71 |
操作対象の機器で実行するコマンドの呼び出しに失敗した。 |
72 |
操作対象の機器で実行するコマンドの実行状態の取得に失敗した。 |
73 |
ファイルまたはフォルダの転送に失敗した。 |
76 |
接続タイムアウトが発生した。 |
77 |
操作対象の機器のホスト名解決に失敗した。 |
78 |
次のどれかの理由で,操作対象の機器との認証に失敗した。
|
80 |
タスクの実行を停止した。 |
81 |
部品が不正な状態で呼び出された。 |
82 |
タスク処理エンジンからの要求メッセージを正しくパースできない。 |
83 |
JP1/AOサーバの環境が壊れている。 |
84 |
指定された部品の情報が取得できない。 |
86 |
指定したプロパティ値に誤りがある。 |
127 |
そのほかのエラーが発生した。 |
プロパティ一覧
プロパティを次の表に示します。
プロパティキー |
プロパティ名 |
説明 |
デフォルト値 |
入出力種別 |
必須区分 |
---|---|---|---|---|---|
remoteHost |
リモートホスト |
操作対象の機器のIPv4アドレス,IPv6アドレスまたはホスト名を1,024文字以内で指定します。なお,JP1/AOサーバと操作対象の機器は,ネットワークで接続されている必要があります。 なお,複数のIPアドレスまたはホスト名は指定できません。 |
− |
入力 |
○ |
credentialType※1 |
認証種別 |
ファイル転送時の認証種別について,次のどちらかを指定します。
|
destination |
入力 |
○ |
account※1 |
ユーザーID |
操作対象の機器にログインするためのユーザーIDを256文字以内で指定します。 また,ドメインユーザーを指定する場合は,次のどちらかの形式で指定してください。
|
− |
入力 |
△ |
password※1 |
パスワード |
操作対象の機器にログインするためのパスワードを256文字以内で指定します。操作対象の機器のOSがUNIXで,プロパティ「publicKeyAuthentication」に「true」を指定した場合は,指定不要です。 |
− |
入力 |
△ |
suPassword※1 |
rootのパスワード |
操作対象の機器のOSがUNIXの場合,rootパスワードを256文字以内で指定します。操作対象の機器のOSがWindowsの場合,またはプロパティ「elevatePrivileges」で「false」を指定した場合は,指定不要です。 |
− |
入力 |
△ |
publicKeyAuthentication※1 |
SSH公開鍵認証設定 |
操作対象の機器のOSがUNIXの場合,接続に公開鍵認証を使用するかどうかについて次のどちらかを指定します。大文字と小文字は区別しません。このプロパティに値を指定しない場合は,「false」として扱われます。操作対象の機器のOSがWindowsの場合は,指定不要です。
|
false |
入力 |
△ |
keyboardInteractiveAuthentication※1 |
SSHキーボードインタラクティブ認証設定 |
操作対象の機器のOSがUNIXの場合,接続にキーボードインタラクティブ認証を使用するかどうかについて次のどちらかを指定します。大文字と小文字は区別しません。このプロパティに値を指定しない場合は,「false」として扱われます。操作対象の機器のOSがWindowsの場合は,指定不要です。 ただし,プロパティ「keyboardInteractiveAuthentication」の値が有効になるのは,「publicKeyAuthentication」に「false」を指定した場合です。「publicKeyAuthentication」に「true」を指定した場合,「keyboardInteractiveAuthentication」に「true」を指定しても,公開鍵認証が設定されます。
|
false |
入力 |
△ |
elevatePrivileges※1 |
権限昇格 |
操作対象の機器のOSがUNIXの場合,rootユーザーに昇格するかどうかについて,次のどちらかを指定します。大文字と小文字は区別しません。このプロパティに値を指定しない場合は,「true」として扱われます。操作対象の機器のOSがWindowsの場合は,指定不要です。
|
false |
入力 |
△ |
transferMode |
転送モード |
転送モードとして,次のどちらかを指定します。
|
send |
入力 |
○ |
localFilePath※3 |
ローカルファイルパス |
JP1/AOサーバのファイルまたはフォルダの絶対パスを256文字以内で指定します。 プロパティ「localFilePath」には,JP1/AOサーバのOSと操作対象の機器のOSの両方のコマンドに入力できる文字を指定してください。 転送先フォルダに同じ名称のファイルやフォルダがある場合,上書き保存されます。そのため,ユニークな名称を指定することをお勧めします。また,転送先フォルダがない場合は,転送先フォルダとして指定されたフォルダ構成を作成します。 |
− |
入力 |
○ |
remoteFilePath※3 |
リモートファイルパス |
操作対象の機器のファイルまたはフォルダの絶対パスを256文字以内で指定します。 プロパティ「remoteFilePath」には,JP1/AOサーバのOSと操作対象の機器のOSの両方のコマンドに入力できる文字を指定してください。 操作対象の機器のOSがUNIXの場合,転送したいファイルおよびフォルダ名の文字セットは,接続ユーザーの文字セットと一致させてください。 転送先フォルダに同じ名称のファイルやフォルダがある場合,上書き保存されます。そのため,ユニークな名称を指定することをお勧めします。 また,転送先フォルダがない場合は,転送先フォルダとして指定されたフォルダ構成を作成します。 |
− |
入力 |
○ |
- 注※1
-
ローカル実行機能が有効で,操作対象がローカルホストの場合,設定内容は無視されます。
- 注※2
-
プロパティ「publicKeyAuthentication」および「keyboardInteractiveAuthentication」の両方に「false」を指定した場合,パスワード認証が設定されます。
- 注※3
-
-
パスを指定する場合は,JP1/AOサーバのOSと操作対象の機器のOSの両方のコマンドに入力できる文字を指定してください。また,プロパティ「localFilePath」にファイル名を指定した場合はプロパティ「remoteFilePath」でもファイル名を,プロパティ「localFilePath」にフォルダ名を指定した場合はプロパティ「remoteFilePath」でもフォルダ名を指定してください。
-
localFilePathおよびremoteFilePathで指定する転送対象のファイルまたはフォルダについて, 制限があります。詳細については「表4‒2 転送対象のファイル名またはフォルダ名の制限値」を参照してください。
-
操作対象の機器のOSがWindowsの場合,Windowsのファイル属性[内容を暗号化してデータをセキュリティで保護する]がチェックされているファイルが含まれると,ファイルの転送に失敗し,部品の処理はエラーになります。
-
操作対象の機器のOSがUNIXで,プロパティ「remoteFilePath」にASCII文字以外を使いたい場合は,「付録A.3 UNIXでASCII文字以外の文字を含むコマンドラインを実行するための前提条件」を参照してください。
-
転送対象のファイル名またはフォルダ名の制限値
転送対象のファイル名またはフォルダ名に関する制限値を次の表に示します。
送受信種別 |
転送対象 |
JP1/AO側または接続先ホスト側 |
プロパティ名 |
制限値 |
---|---|---|---|---|
送信 |
ファイル |
JP1/AO側 |
localFilePath |
ファイル名が127文字以下※1 |
接続先ホスト側 |
remoteFilePath |
ファイル名が127文字以下※1 |
||
フォルダ |
JP1/AO側 |
localFilePath |
|
|
接続先ホスト側 |
remoteFilePath |
|
||
受信 |
ファイル |
JP1/AO側 |
localFilePath |
ファイル名が127文字以下※1 |
接続先ホスト側 |
remoteFilePath |
ファイル名が127文字以下※1 |
||
フォルダ |
JP1/AO側 |
localFilePath |
|
|
接続先ホスト側 |
remoteFilePath |
|
- 注※1
-
"C:\フォルダ1\フォルダ2\ファイル1"が入力値である場合,ファイル1についての制限。
- 注※2
-
"C:\フォルダ1\フォルダ2\フォルダ3"が入力値である場合,フォルダ3配下の最長パスを含めて「C:\」からの長さの制限。
- 注※3
-
"C:\フォルダ1\フォルダ2\フォルダ3"が入力値である場合,フォルダ3配下の最長パスを含めてフォルダ3からの長さの制限。
SSHで使用するポート番号の指定
操作対象の機器にSSHを使用して接続する場合は,ポート番号を指定できます。ポート番号を指定する方法と優先順位は,次のとおりです。
優先順位 |
設定個所 |
プロパティキー |
デフォルト値 |
---|---|---|---|
1 |
接続先プロパティファイル(接続先名.properties) |
ssh.port |
− |
2 |
ユーザー設定プロパティファイル(config_user.properties) |
ssh.port.number |
22 |
- (凡例)
-
−:値は設定されていません。
転送対象のファイルの扱い
操作対象の機器のOSおよびプロパティ「transferMode」に指定した値によって,転送対象のファイルの扱いが異なります。転送対象のファイルの扱いを次の表に示します。
項目 |
Windows |
UNIX |
||||
---|---|---|---|---|---|---|
send |
receive |
send |
receive |
|||
転送後のファイルのタイムスタンプ |
ファイルを新規作成した場合 |
作成日時 |
転送した日時 |
転送した日時 |
転送した日時 |
転送した日時 |
更新日時 |
送信元ファイルの更新日時 |
送信元ファイルの更新日時 |
転送した日時 |
転送した日時 |
||
アクセス日時 |
転送した日時 |
転送した日時 |
転送した日時 |
転送した日時 |
||
ファイルを上書きした場合 |
作成日時 |
上書きされるファイルの作成日時 |
上書きされるファイルの作成日時 |
転送した日時 |
上書きされるファイルの作成日時 |
|
更新日時 |
送信元ファイルの更新日時 |
送信元ファイルの更新日時 |
転送した日時 |
転送した日時 |
||
アクセス日時 |
上書きされるファイルのアクセス日時 |
上書きされるファイルのアクセス日時 |
上書きされるファイルのアクセス日時 |
上書きされるファイルのアクセス日時 |
||
転送元ファイルに必要なアクセス権限 |
Systemアカウントの読み取り権限 |
Systemアカウントの読み取り権限 |
Systemアカウントの読み取り権限 |
接続ユーザーの読み取り権限※1 |
||
転送先ファイルの親フォルダに必要なアクセス権限 |
認証情報に設定したユーザーの書き込み権限 |
Systemアカウントの書き込み権限 |
接続ユーザーの書き込み権限※1 |
Systemアカウントの書き込み権限 |
||
転送先ファイルを上書きする場合に上書きされるファイルに必要なアクセス権限 |
認証情報に設定したユーザーの書き込み権限 |
Systemアカウントの書き込み権限 |
接続ユーザーの書き込み権限※1 |
Systemアカウントの書き込み権限 |
||
送信先ファイルに設定されるアクセス権限 |
ファイルを新規作成した場合 |
親フォルダの権限を引き継ぐ |
親フォルダの権限を引き継ぐ |
rootユーザー,または接続ユーザーのumask値に従う |
親フォルダの権限を引き継ぐ |
|
ファイルを上書きした場合 |
上書きされるファイルの権限を引き継ぐ |
上書きされるファイルの権限を引き継ぐ |
上書きされるファイルの権限を引き継ぐ |
上書きされるファイルの権限を引き継ぐ |
- 注※1
-
rootユーザーでファイルを転送する場合は,権限の指定は不要です。
関連トピック
-
マニュアル「JP1/AO 導入・設計ガイド」−「エージェントレス接続先の前提条件」のトピック
-
マニュアル「JP1/AO 構築ガイド」−「ユーザー設定プロパティファイル(config_user.properties)」および「接続先プロパティファイル(接続先名.properties)」のトピック