4.4 dcmcoll.exe(ファイルの収集)
(1) 機能
次に示す,リモートコレクトに関連するジョブを作成,実行します。
- リモートコレクト
- 中継までのリモートコレクト(JP1/NETM/DM Managerだけ)
- 中継サーバからのコレクトファイル収集(JP1/NETM/DM Managerだけ)
- 中継サーバのコレクトファイル削除(JP1/NETM/DM Managerだけ)
また,収集したアーカイブファイルを復元します。
JP1/NETM/DM Client(中継システム)では,「リモートコレクト」ジョブの作成,実行とアーカイブファイルの復元だけができます。
なお,JP1/NETM/DM Client(中継システム)では,一つ下の階層までしかジョブを実行できません。
(2) 形式
dcmcoll.exe [処理キー] [/G] [/Z] [/s]
/i パラメタファイル1 [パラメタファイル2]
/o 結果出力ファイル名
[/LC {ON|OFF}]
(3) 引数
- 処理キー
実行するジョブの種類を指定するキーです。コマンド名の直後に,次に示す五つの処理キーのうち一つを指定してください。省略した場合は,「NETM_COLLECT」が仮定されます。
- NETM_COLLECT
「リモートコレクト」ジョブを実行します。パラメタファイル(またはコマンドの引数)で,あて先,収集するファイル,および収集したファイルの格納先ディレクトリを指定してください。
JP1/NETM/DM ManagerおよびJP1/NETM/DM Client(中継システム)で指定できます。
- NETM_COLTOS
「中継までのリモートコレクト」ジョブを実行します。パラメタファイル(またはコマンドの引数)で,あて先,収集するファイル,および収集したファイルの格納先ディレクトリを指定してください。
JP1/NETM/DM Managerでだけ指定できます。JP1/NETM/DM Client(中継システム)で指定するとエラーになります。
- NETM_COLTOM
「中継サーバからのコレクトファイル収集」ジョブを実行します。パラメタファイル(またはコマンドの引数)で,あて先(中継システム)を指定してください。
JP1/NETM/DM Managerでだけ指定できます。JP1/NETM/DM Client(中継システム)で指定するとエラーになります。
- NETM_COLRESET
「中継サーバのコレクトファイル削除」ジョブを実行します。パラメタファイル(またはコマンドの引数)で,あて先(中継システム)を指定してください。
JP1/NETM/DM Managerでだけ指定できます。JP1/NETM/DM Client(中継システム)で指定するとエラーになります。
- NETM_UNARC
収集したアーカイブファイル(拡張子がdmzのファイル)を復元します。パラメタファイル(またはコマンドの引数)で,復元するファイルの名称と格納されているディレクトリ,復元先のディレクトリを指定してください。
JP1/NETM/DM ManagerおよびJP1/NETM/DM Client(中継システム)で指定できます。
- /G
処理キーが「NETM_UNARC」の場合に,復元先として指定したディレクトリ下に,復元したファイルを直接格納します。「NETM_UNARC」以外の場合は,指定しても無視されます。
/Gを指定しない場合は,復元後の格納先として指定したディレクトリ下に,あて先のホスト名と同じ名称のディレクトリが自動で作成されます。
あて先を区別する必要がある場合は,指定しないでください。
- /Z
処理キーが「NETM_UNARC」の場合に,ファイルの復元と同時にアーカイブファイルを削除します。アーカイブファイルが格納されていたディレクトリは削除されません。
「NETM_UNARC」以外の場合は,指定しても無視されます。
- /s
ジョブを作成後,実行しないで保存します。処理キーが「NETM_UNARC」の場合は,指定しても無視されます。
この引数を指定してコマンドを実行したときの結果出力ファイルには,ジョブ番号が出力されません。
- /i
使用するパラメタファイルのフルパスを,一つまたは二つ指定します。二つ指定する場合は間をスペースで区切ってください。三つ以上指定するとコマンドは失敗します。
パラメタファイルを二つ指定すると,JP1/NETM/DMは,それぞれのパラメタファイルの内容を連結して解釈します。あて先に関する情報と,収集・復元に関する情報を別のパラメタファイルに定義しておくと,どちらかを変更してコマンドを再実行する場合に便利です。
不要なパラメタは無視されるので,ファイルを収集する場合と復元する場合とで,パラメタファイルを共用できます。両方のファイルに同じパラメタを指定した場合は,エラーとなります。
- /o
結果出力ファイルのフルパスを指定します。
処理キーが「NETM_UNARC」の場合は,指定しても無視されます。それ以外の場合は必ず指定してください。
コマンドが正常終了すると,指定した結果出力ファイルに次の項目が出力されます。結果出力ファイルがすでに存在する場合は上書きされます。
ジョブ番号(jobnoの値)は,開始されたジョブを識別する番号です。このジョブを削除したり実行状況を確認したりする場合は,jobnoの値をパラメタファイルに記述してください。
引数に/sを指定した場合,ジョブ番号は出力されません。
/sを指定した場合の結果出力ファイルは,そのままdcmjexeコマンドのパラメタファイルとして使用できます。また,/sを指定しなかった場合の結果出力ファイルは,dcmjbrmコマンド,dcmrtryコマンド,dcmstatコマンド,およびdcmstswコマンドのパラメタファイルとして使用できます。
- /LC
タスクスケジューラやJP1/AJSを使用してコマンドをバックグラウンドサービスとして実行している場合にWindowsをログオフしても,コマンド処理を継続するかどうかを「ON」または「OFF」で指定します。
- ON
Windowsをログオフしても,コマンド処理を継続します。
- OFF
Windowsをログオフすると,コマンド処理を強制終了します。
この引数は,次に示すOSでコマンドをサービスから実行した場合に,有効となります。
- Windows NT 4.0
- Windows 2000
- Windows XP
- Windows Server 2003(Windows Server 2003 (IPF)を除く)
コマンドプロンプトからコマンドを実行する場合は,フォアグラウンドプログラムとして実行されるため,「/LC ON」を指定しないでください。
Windowsをログオフしてもコマンド処理を継続するかどうかは,レジストリでも設定できます。レジストリでの設定については,次の個所を参照してください。
- JP1/NETM/DM Managerで実行する場合
マニュアル「構築ガイド」の「4.6 レジストリの設定(JP1/NETM/DM Manager)」
- JP1/NETM/DM Client(中継システム)で実行する場合
マニュアル「構築ガイド」の「5.4 レジストリの設定(JP1/NETM/DM Client(中継システム))」
なお,/LCでの指定と,レジストリでの設定の組み合わせで,動作が異なります。詳細については,「4.28 レジストリ設定とログオフオプションによるログオフ時のコマンドの動作」を参照してください。
(4) パラメタファイルの指定内容とコマンド引数との対応
このコマンドで使用するパラメタファイルの内容は,コマンドの引数で指定することもできます。パラメタファイルの指定内容と,コマンドの引数との対応を次の表に示します。
表4-7 パラメタファイルとコマンドの引数の対応(dcmcollコマンド)
パラメタファイルの指定内容 | 内容 | 指定の有無 | コマンドの引数 |
---|
タグ | パラメタ |
---|
JOB_DESTINATION | directory_com | ディレクトリ情報(コンピュータの階層) | ◎※1※2 | /dc 値 |
directory_group | ディレクトリ情報(グループの階層) | ◎※1※2 | /dg 値 |
directory_ou | ディレクトリ情報(組織単位(OU)の階層) | ◎※1※2 | /do 値 |
group | あて先グループ名 | ◎※1※2 | /g 値 |
host_name | ホスト名 | ◎※1※2 | /h 値 |
lower_clients | すべてのあて先指定の有無 | × | - |
JOB_DESTINATION_ID | destination_id | ID名 | ◎※1 | /X 値 |
FILE_COLLECTION | source_path | 収集ファイル名 | ◎※3 | /y 値 |
dmz_path | 収集後の格納先フォルダ(収集時),または復元対象ファイル/フォルダ(復元時) | ◎※4 | /z 値 |
unarc_path | 復元後の格納先フォルダ | ◎※5 | /r 値 |
JOB_ATTRIBUTE | job_generator | ジョブ名称 | ○※6 | /j 値 |
jobno | ジョブ番号 | × | - |
job_folder | ジョブ格納フォルダパス | ○ | /l 値 |
unsuspended | 中断中の配布の有無 | × | - |
JOB_SCHEDULE | job_entry_date | ジョブの登録日時 | ○※7 | /jst 値 |
job_execution_date | ジョブの実行日時 | ○※7 | /jsx 値 |
job_expiration_date | ジョブの実行期限 | ○※7 | /jsp 値 |
SCHEDULE | expiration_date | 中継システムでのパッケージ保管期限 | × | - |
expiration_days | 中継システムでのパッケージ保管日数 | × | - |
installation_date_and_time | インストール日時 | × | - |
installation_timing | インストール(収集)タイミング | ○ | /tSまたは/tN |
OPTION | compress | 圧縮の有無 | ○ | /uYまたは/uN |
compress_type | 圧縮方法 | × | - |
restore | バージョンアップ時のリストア対象の有無 | × | - |
encipher | 暗号化の有無 | × | - |
reboot | インストール後のコンピュータ再起動 | × | - |
processing_dialog | インストール時の処理中ダイアログの表示 | × | - |
USER_PROGRAM_INSTALLATION_CONDITIONS | external_program_executed_before_installation | インストール(収集)前起動外部プログラム | ○ | /b 値 |
external_program_executed_after_installation | インストール(収集)後起動外部プログラム | ○ | /a 値 |
external_program_error_handler | インストール(収集)エラー時起動外部プログラム | ○※8 | /e 値 |
external_program_handler | 起動外部プログラム | × | - |
exit | 外部プログラム処理結果の通知方式 | × | - |
action | 処理結果エラー時の取り扱い | × | - |
wait | 監視方式 | × | - |
timeout | 監視時間 | × | - |
wait_code | 監視コード | × | - |
- (凡例)
- ◎:必ず指定する ○:省略できる ×:不要(指定しても無視される)
- -:コマンドの引数では指定できない
- 注※1
- JOB_DESTINATIONとJOB_DESTINATION_IDは同時に指定できません。また,/g,/h,/dc,/dg,および/doは/Xと同時に指定できません。必ずどちらかを指定してください。
- なお,処理キーが「NETM_COLTOM」または「NETM_COLRESET」の場合は,あて先として指定できるIDは,ID管理中継として登録されたIDだけです。
- 処理キーが「NETM_UNARC」の場合は,指定しても無視されます。
- 注※2
- groupおよびhost_name(/gおよび/h)と,directory_com,directory_group,およびdirectory_ou(/dc,/dgおよび/do)は同時に指定できません。ただし,groupとhost_name(/gと/h)は同時に指定してもかまいません。また,directory_com,directory_group,およびdirectory_ou(/dc,/dgおよび/do)は,組み合わせに関係なく同時に指定してもかまいません。
- 注※3
- 処理キーが「NETM_COLLECT」および「NETM_COLTOS」の場合に必ず指定してください。
- 注※4
- 処理キーが「NETM_COLLECT」,「NETM_COLTOS」,および「NETM_UNARC」の場合に必ず指定してください。
- 注※5
- 処理キーが「NETM_UNARC」の場合に必ず指定してください。
- 注※6
- job_generator(または/j)の指定を省略した場合,ジョブ名称として「処理キー+ジョブの実行日時」が自動的に設定されます。このため,同じ処理キーのコマンドを同時に複数実行すると,ジョブ名称が重複しジョブが正しく実行されないことがあります。同じ処理キーのコマンドを同時に複数実行する場合は,job_generator(または/j)で,異なるジョブ名称を指定することをお勧めします。
- 注※7
- 処理キーが「NETM_UNARC」の場合は,指定しても無視されます。
- 注※8
- UNIXクライアントからファイルを収集する場合は指定できません。
(5) パラメタファイルを使用しない場合のコマンド形式
パラメタファイルを使用しないで引数だけで指定する場合の,コマンドの形式を次に示します。
- クライアントからファイルを収集する場合
dcmcoll.exe {[NETM_COLLECT]|NETM_COLTOS} [/s]
{[/g あて先グループ名] [/h ホスト名]|
[/dc コンピュータの階層] [/dg グループの階層]
[/do 組織単位(OU)の階層]|
/X ID名}
/y 収集ファイル名 /z 収集ファイル格納フォルダパス
[/j ジョブ名称] [/l ジョブ格納フォルダパス]
[/jst ジョブの登録日時] [/jsx ジョブの実行日時]
[/jsp ジョブの実行期限]
[{/tS|/tN}] [ {/uY|/uN}]
[/b ファイル収集前起動外部プログラム]
[/a ファイル収集後起動外部プログラム]
[/e ファイル収集エラー時起動外部プログラム]
[/o 結果出力ファイル名]
[/LC {ON|OFF}]
- 中継サーバからコレクトファイルを収集する,または中継システム上のコレクトファイルを削除する場合
dcmcoll.exe {NETM_COLTOM|NETM_COLRESET} [/s]
{[/g あて先グループ名] [/h ホスト名]|/X ID名}
[/j ジョブ名称] [/l ジョブ格納フォルダパス]
[/jst ジョブの登録日時] [/jsx ジョブの実行日時]
[/jsp ジョブの実行期限]
[/o 結果出力ファイル名]
[/LC {ON|OFF}]
- ファイルを復元する場合
dcmcoll.exe NETM_UNARC [/G] [/Z]
/z 復元対象ファイルまたはフォルダ
/r 復元後の格納先
[/LC {ON|OFF}]
(6) リターンコード
dcmcollコマンド実行時のリターンコードを次の表に示します。
コード | 意味 | 対処 |
---|
0 | 配布管理システムがジョブを開始した。 または,アーカイブファイルの復元が正常終了した。 | なし。 |
1 | パラメタファイルをオープンできない,またはファイル形式に誤りがある。 | パラメタファイルの指定または記述形式を確認してください。 |
2 | コマンドの引数またはパラメタファイルに不正な値が指定されている。 | コマンドの引数またはパラメタファイルの設定値を確認してください。 |
3 | 配布管理システムへの接続でエラーが発生した。 | 配布管理システムのバージョンを確認してください。 |
4 | 結果出力ファイルをオープンできない。 | 結果出力ファイルの指定を確認してください。 |
5 | クライアント,配布管理システム間の通信に失敗した。 | 配布管理システムのセットアップで,通信環境の設定を確認してください。 |
7 | 一つ以上のアーカイブファイルの復元に失敗した。 | アーカイブファイルのパスを確認してください。 復元ファイルのフルパス(「復元後の格納先ディレクトリ」+「作成ディレクトリ」(「アーカイブファイルの格納先ディレクトリ」)+「復元後のファイル名またはディレクトリ名」)が半角259文字を超えているおそれがあります。 |
12 | そのほかのエラーが発生した。 | イベントログを参照してください。 |
また,JP1/Baseと連携してJP1/NETM/DMのユーザを管理している場合は,「1.3.3 コマンドを実行するための設定」も合わせて参照してください。
(7) 注意事項
- あて先および収集ファイルの指定数について
- パラメタファイルで指定する場合は,dcmcollコマンド1回の実行につき,あて先(ホスト・あて先グループ・ID)またはディレクトリ情報(組織単位(OU)の階層・グループの階層・コンピュータの階層)は,それぞれ200個まで指定できます。また,あて先200個に対し,収集するファイルまたはディレクトリは100個まで指定できます。
- あて先および収集ファイルをコマンドの引数で指定する場合は,それぞれ1個しか指定できません。
- パラメタファイルであて先および収集ファイルを複数指定している場合でも,同じ項目をコマンドの引数で指定すると,すべて無効となります。
- あて先の経路について
あて先の経路を指定できます。同一のあて先を別の経路で複数指定すると,1番目の定義だけが有効になります。
- 中継システムあてのジョブについて
「中継サーバからのコレクトファイル収集」ジョブおよび「中継サーバのコレクトファイル削除」ジョブは,あて先として中継システムを指定するジョブです。このジョブのあて先にクライアントを指定すると,エラーまたは実行中のままとなります。
- 収集先および復元先のディレクトリについて
- ファイルを収集するときは,収集先として指定したディレクトリ下に,あて先のホスト名と同じ名称のディレクトリが自動的に作成されます。ファイルは収集時にアーカイブされ,拡張子が「.dmz」のアーカイブファイルとして,各ホスト名のディレクトリ下に格納されます。
- アーカイブファイルを復元するときは,収集時と同様に,復元先として指定したディレクトリ下に,ホスト名と同じ名称のディレクトリが自動的に作成されます。ただし,一度に複数のアーカイブファイルを復元する場合,別々のアーカイブファイルに同じ名称のファイルが存在すると,ファイルが上書きされてしまいます。同じ名称のファイルが含まれる複数のアーカイブファイルを復元する場合は,別の復元先ディレクトリを指定したdcmcollコマンドを実行してください。
- 復元時,コマンドの引数に/Gを指定すると,復元先として指定したディレクトリ下に,直接ファイルが展開されます。複数のあて先から収集したファイルを一度に復元すると,すべて上書きされ,あて先ごとに区別できません。アーカイブファイルを一つだけ復元する場合は,/Gを使用してください。
- 復元時,コマンドの引数に/Gを指定しない場合,復元後の格納先として指定したディレクトリ下に,あて先のホスト名と同じ名称のディレクトリが自動的に作成されます。ただし,/zまたは「FILE_COLLECTION」タグのdmz_pathパラメタに,復元対象ファイルを格納しているディレクトリを指定したときは,ディレクトリは作成されないで,直接ファイルが展開されます。
復元したファイルをあて先ごとに区別する必要がある場合は,/zまたは「FILE_COLLECTION」タグのdmz_pathパラメタに,ファイル収集時に指定したディレクトリをそのまま指定してください。
- ジョブ格納フォルダパスの指定について
ジョブ格納フォルダパスに[ジョブ定義]ウィンドウで定義されていないフォルダを指定してコマンドを実行した場合,指定されたフォルダが作成されます。作成されたジョブ格納フォルダは,実行後も削除されないで残ります。使用しない場合は,ジョブが完了したら削除してください。
- パラメタファイルを使用しない場合の注意事項
- 収集先がWS(UNIXシステム)の場合は,収集先ディレクトリのドライブには任意のドライブを指定してください。ただし,収集時には,指定されたドライブは無視され,ディレクトリの指定に従って収集されます。次の場合,c:は無視されます。
指定例:c:/user/tmp
なお,ディレクトリの区切りに「¥」を使用するときは,ドライブの指定は不要です。
指定例:¥user¥tmp
- 外部プログラムの指定について
- 収集先がWS(UNIXシステム)で外部プログラムを指定する場合は,パラメタファイルを使用してコマンドを実行してください。
- リモートコレクトのジョブ実行時,およびアーカイブファイルの復元時の注意事項
マニュアル「運用ガイド1」の「5.1.4 リモートコレクト実行時の注意事項」を参照してください。
(8) 実行例
JP1/NETM/DM Client(クライアント)が稼働するホストdmp491およびdmp492から,C:¥temp下のディレクトリ「SD障害.dir」,「SD障害2.dir」,および「SD障害3.dir」のファイルを収集する例を次に示します。クライアントの起動を契機に収集を開始し,収集前,収集後,および収集エラー時に外部プログラムを起動するよう指定しています。
(a) パラメタファイルの作成
ホストと収集ファイルの属性をパラメタファイルに次のように記述し,パラメタファイルを任意の名称で保存します。
** dcmcoll Parameter File Sample
JOB_DESTINATION{
host_name=dmp492.soft.hitachi.co.jp
host_name=dmp491
group = ¥grp¥gname1
group = ¥grp¥gname2;¥grp¥gname3
}
SCHEDULE{
installation_timing = S
}
OPTION{
compress=Y
}
USER_PROGRAM_INSTALLATION_CONDITIONS{
external_program_executed_before_installation = "C:¥test B.exe"
external_program_executed_after_installation = C:¥testA.exe -x "a aa"
external_program_error_handler = "C:¥test E.exe"
}
FILE_COLLECTION{
source_path= C:¥temp¥SD障害.dir
source_path= C:¥temp¥SD障害2.dir;C:¥temp¥SD障害3.dir
dmz_path= C:¥temp¥収集
}
(b) コマンドの実行
作成したパラメタファイルをC:¥Dmbat¥dcmcoll.txtに保存し,結果出力ファイルをC:¥Dmbat¥out.txtに取得する場合は,次のように指定します。
dcmcoll.exe /i C:¥Dmbat¥dcmcoll.txt /o C:¥Dmbat¥out.txt /j temp収集
(c) 結果出力ファイルの確認
コマンドが正常終了すると,ジョブのジョブ名称,ジョブ番号,ジョブ格納フォルダパスが,C:¥Dmbat¥out.txtに次のように出力されます。
JOB_ATTRIBUTE{
job_generator= NETM_COLLECT_03_12_11_13_34_36
jobno= JB03121113315383
job_folder= ¥
}