1.6.12 submittask(サービスの実行,タスクの一括再登録)
機能
submittaskコマンドの機能は次のとおりです。
サービスの実行
サービス名,サービスグループ名,およびプロパティ値を指定してコマンドを実行することで,指定したサービスを実行します。タスクが正常に実行された場合,タスクIDがメッセージに出力されます。デバッグサービスについては実行できません。オプションを指定することで,サービスを定期実行したり,実行日時を指定して実行したりできます。何も指定しない場合,サービスは即時実行されます。
タスクの一括再登録
listtasksコマンドで出力したタスク詳細情報の内容を元に,指定日時実行タスクおよび定期実行タスクを一括で再登録します。再登録したタスクには,元のタスクの設定およびタスクの状態が引き継がれます。これは,タスク詳細情報格納フォルダの情報を参照して,同一の設定で指定日時実行または定期実行でサービスを実行する機能であり,同一のタスクを復元する機能ではありません。そのため,再登録されたタスクは,再登録前のタスクとは別のタスクであり,タスクIDも異なります。デバッグタスクについては再登録できません。
- タスクを一括再登録する前の作業について
タスクの一括再登録をする前に,次の作業を実施してください。
タスク詳細情報格納フォルダには,タスクの一括再登録を行うJP1/AOと,バージョンおよびリビジョンが同一のJP1/AOで出力したフォルダを指定してください。バージョンまたはリビジョンが異なるJP1/AOで出力したタスク詳細情報格納フォルダを指定した場合,タスクの一括再登録に失敗します。
listtasksコマンドで出力されたタスク詳細情報格納フォルダがあることを確認してください。
定義情報(サービス,サービステンプレート,ユーザー,ユーザーグループ,サービスグループ,エージェントレス接続先定義,サービス共有プロパティ)および定義ファイルを別途設定してください。必要に応じて,backupsystemコマンドおよびrestoresystemコマンドを使用して,これらの設定を復元してください。listtasksコマンドでタスク詳細情報格納フォルダを出力したときから,これらの設定を変更したり,サービスを削除したりしないでください。サービスの設定が変更されていた場合,変更後の設定に従って,一括再登録が実行されます。また,サービス設定が削除されていた場合は,該当のタスクの再登録に失敗します。
指定日時実行タスクの場合,タスク再登録時点で指定日時が過ぎていないことを確認してください。指定日時が過ぎていると,エラーとなるため,そのままでは再登録できません。
- 一括再登録されるタスクの条件について
一括再登録されるタスクは,タスク詳細情報格納フォルダ内にあるタスク一覧(listtasks.csv)のうち,未実行の指定日時実行タスクおよび定期実行タスクです。未実行の指定日時実行タスクおよび定期実行タスクは,タスク一覧で「Unexecuted Schedule」の列が「true」となっています。
- 指定日時が過ぎている指定日時実行タスクの再登録について
指定日時が過ぎている指定日時実行タスクはそのままでは再登録できません。一括再登録しても,指定日時が過ぎている旨のメッセージが出力されて,再登録が失敗します。再登録に失敗したタスクの設定内容を確認したい場合は,タスク詳細情報格納フォルダ内のタスク一覧ファイル(listtasks.csv)と,個別タスク詳細情報格納フォルダのプロパティファイル(入力プロパティファイル)および出力プロパティファイルを参照してください。指定日時が過ぎているタスクを登録したい場合は,タスク詳細情報格納フォルダ内にあるタスク一覧(listtasks.csv)の元の指定日時を確認してから,JP1/AOの[サービス]画面またはsubmittaskコマンドで,新しく日時を指定して個別にサービスを実行してください。なお,開始予定日時は現在の日時以降を指定してください。
- 再登録に失敗したタスクがある場合の対処について
タスクの一括再登録に失敗した場合は,タスク登録が失敗した旨のメッセージと,再登録に失敗したタスクのタスクIDが表示されます。このときのタスクIDとは,listtasksコマンドで出力した時点のタスクIDです。一部,再登録に成功したタスクがある場合,該当するタスクの個別タスク詳細情報格納フォルダをほかの場所に退避させてください。その後,失敗原因を取り除いてからコマンドを再実行してください。フォルダを退避させるのは,再登録に成功したタスクの2重登録を避けるためです。この対処をしたあとも同様のエラーが発生する場合は,システム管理者に連絡してください。
形式
submittaskコマンドの形式は次のとおりです。
サービスを即時実行する場合
submittask /servicename サービス名 [/servicegroup サービスグループ名] [/taskname タスク名] [/taskdescription タスクの説明] [/property プロパティキー プロパティ値 | /propertyfile プロパティファイルパス] /user ユーザーID {/password パスワード | /passwordfile パスワードファイルパス} [/wait]
サービスを指定した日時に実行する場合
submittask /servicename サービス名 [/servicegroup サービスグループ名] [/taskname タスク名] [/taskdescription タスクの説明] [/property プロパティキー プロパティ値 | /propertyfile プロパティファイルパス] /user ユーザーID {/password パスワード | /passwordfile パスワードファイルパス} /scheduledate yyyy-mm-dd /scheduletime hh:mm
サービスを定期的に実行する場合
submittask /servicename サービス名 [/servicegroup サービスグループ名] [/taskname タスク名] [/taskdescription タスクの説明] [/property プロパティキー プロパティ値 | /propertyfile プロパティファイルパス] /user ユーザーID {/password パスワード | /passwordfile パスワードファイルパス} /recurrencepattern {daily[:{1h|2h|3h|4h|6h|8h|12h|24h}] | weekly:sun,mon,...,sat | monthly:{dd,dd,...,dd[,endofmonth] | endofmonth}} /recurrencetime hh:mm /recurrencestart yyyy-mm-dd
タスクを一括再登録する場合
submittask /reregister /taskdetaildir タスク詳細情報格納フォルダ [/setoriginalsubmitter] /user ユーザーID {/password パスワード | /passwordfile パスワードファイルパス}
引数
- /servicename サービス名
実行するサービスの名称を指定します。
指定できる文字数は,1~128文字です。
- /servicegroup サービスグループ名
実行するサービスが所属するサービスグループの名称を指定します。
このオプションを省略した場合は,引数に指定したユーザーに関連づいたサービスグループが設定されますが,ユーザーに関連づいたサービスグループが複数存在する場合,エラーとなります。
指定できる文字数は,1~80文字です。使用できる文字の種類は,UnicodeのU+10000~U+10FFFF以外です。
なお,servicegroupオプションの代わりに,JP1/AO 10-52以前で使用していたresourcegroupオプションを指定して,サービスグループ名を指定することもできます。servicegroupオプションに「All Resources」を指定した場合でも,「DefaultServiceGroup」と指定したとみなされて実行されます。
- /taskname タスク名
タスクの名称を指定します。
このオプションを省略した場合は,デフォルトの名称として「サービス名_YYYYMMDDhhmmss」(YYYYMMDDhhmmss:サービス実行時の時刻)が設定されます。
指定できる文字数は1~128文字です。使用できる文字の種類は,制御文字(\u0000~\u001Fおよび\u007F~\u009F)以外です。
- /taskdescription タスクの説明
タスクの説明を指定します。
このオプションを省略した場合は値が設定されません。
指定できる文字数は,1~256文字です。使用できる文字の種類は,制御文字(\u0000~\u001Fおよび\u007F~\u009F)以外です。
- /property プロパティキー プロパティ値
実行するサービスで使用するプロパティキーおよびプロパティ値を指定します。指定したプロパティ値はサービステンプレートの仕様に従って妥当かどうか検証されます。
このオプションで設定しなかったプロパティキーについては,[サービス設定]画面で指定した値が設定されます。指定が必須のプロパティについて,[サービス設定]画面で値を指定していない場合,かつこのオプションでも値を指定しなかった場合,エラーとなります。
このオプションは,「/property プロパティキー1 プロパティ値1 /property プロパティキー2 プロパティ値2」のように複数指定できます。指定できるプロパティキーとプロパティ値の組み合わせは,デフォルトでは最大1,000個です。指定できるプロパティの個数の上限は,ユーザー設定プロパティファイル(config_user.properties)で定義できます。
プロパティキー
サービスのプロパティキーを指定します。
指定できる文字数は,1~1,024文字です。使用できる文字の種類は,半角英数字,「-」,「_」,「.」,「/」です。
同一のプロパティキーが指定された場合は,エラーとなります。
プロパティ値
プロパティキーに対応するプロパティ値を指定します。
空白と特殊記号を含む場合,「"」で囲んで指定します。
- /propertyfile プロパティファイルパス
実行対象のサービスで使用する入力プロパティの設定を定義したプロパティファイルのパスを,絶対パスまたは相対パスで指定します。
このオプションで設定しなかったプロパティキーおよびプロパティ値については,[サービス設定]画面(作成,編集,または複製),または[サービス実行]画面で指定した値が設定されます。指定が必須のプロパティについて,[サービス設定]画面(作成,編集,または複製),または[サービス実行]画面で値を指定していない場合,かつこのオプションで指定したプロパティファイルでも値が定義されていない場合,エラーとなります。
プロパティファイルの形式については,マニュアルJP1/AO 運用ガイドを参照してください。
- /reregister
タスクを一括再登録する場合に指定します。reregisterオプションを指定する場合は,taskdetaildirオプションも必ず指定してください。
- /taskdetaildir タスク詳細情報格納フォルダ
reregisterオプションを指定したときに,必ず指定します。再登録したい指定日時実行タスクまたは定期実行タスクの情報が格納された,タスク詳細情報格納フォルダのパスを,絶対パスまたは相対パスで指定します。ただし,指定できるのはローカルディスクのフォルダだけです。指定できる文字数は,絶対パスの長さで190文字までです。
- /setoriginalsubmitter
タスクを一括再登録する場合にこのオプションを指定すると,一括再登録をした実行者ではなく,元のタスクの実行者を,再登録後のタスク実行者として表示できます。元のタスクの実行者とは,listtasksコマンドでタスク詳細情報を出力した時点でのタスクの実行者を指します。再登録後のタスクの実行者は,[タスク]画面の[実行者]列に表示されるユーザーIDで確認できます。listtasksコマンドでタスク詳細情報を出力した時点でのタスクの実行者は,タスク詳細情報格納フォルダに出力されたlisttasks.csvファイルのSubmitted Byの列で確認できます。
このオプションを省略した場合は,submittaskコマンドのuserオプションに指定したユーザーIDが,再登録後のタスクの実行者となります。
なお,タスクを再登録する時点で,「listtasksコマンドでタスク詳細情報を出力した時点でのタスクの実行者」が存在しない場合であってもエラーにはなりません。この場合,タスクの実行者は,「listtasksコマンドでタスク詳細情報を出力した時点でのタスクの実行者」になります。
- /user ユーザーID
JP1/AOのユーザーIDを指定します。servicenameオプションで指定したサービスが所属するサービスグループに関連づいたユーザーを指定してください。
指定できる文字数は,1~256文字です。
使用できる文字の種類は,半角英数字,「!」,「#」,「$」,「%」,「&」,「'」,「(」,「)」,「*」,「+」,「-」,「.」,「=」,「@」,「\」,「^」,「_」,「|」です。
大文字と小文字は区別しません。
- /password パスワード
userオプションで指定した,ユーザーのパスワードを指定します。
指定できる文字数は,1~256文字です。
使用できる文字の種類は,userオプションと同じです。
- /passwordfile パスワードファイルパス
userオプションで指定したユーザーのパスワードファイルのパスを絶対パスまたは相対パスで指定します。パスワードファイルはencryptpasswordコマンドで作成します。
- /wait
指定した場合,タスクの実行結果(正常終了または失敗)を出力してからコマンドを終了します。waitオプションを指定しない場合,タスク実行の終了を待たないで,コマンドが終了します。このとき,タスクの実行が正常に開始された場合にだけ,タスクIDがメッセージで出力されます。
- /scheduledate
サービスを実行する年月日を,「YYYY-MM-DD」の形式で指定します。「YYYY」には西暦を4桁の半角数字で指定します。「MM」には月を1(または01)から12の半角数字で指定します。「DD」には日を1(または01)から31の半角数字で指定します。scheduledateオプションは,scheduletimeオプションとあわせて指定します。なお,次のどれかに該当する場合は,コマンドの実行に失敗します。
引数の組み合わせが不正な場合
引数の組み合わせについては「表1‒10 submittaskコマンドの引数の組み合わせ」を参照してください。
指定した日付の形式が不正な場合
scheduletimeオプションとの組み合わせで決まる日時が過去を指定している場合
指定した日付が1994年1月1日から2036年12月31日の範囲外の場合
- /scheduletime
サービスを実行する時分を,「hh:mm」の形式で指定します。「hh」には時を00から23の半角数字で指定します。「mm」には分を00から59の半角数字で指定します。scheduletimeオプションは,scheduledateオプションとあわせて指定します。なお,次のどれかに該当する場合は,コマンドの実行に失敗します。
引数の組み合わせが不正な場合
引数の組み合わせについては「表1‒10 submittaskコマンドの引数の組み合わせ」を参照してください。
指定した時刻の形式が不正な場合
scheduledateオプションとの組み合わせで決まる日時が過去を指定している場合
- /recurrencepattern {daily[:{1h|2h|3h|4h|6h|8h|12h|24h}] | weekly:sun,mon,...,sat | monthly:{dd,dd,...,dd[,endofmonth] | endofmonth}}
サービスを定期実行する周期を指定します。recurrencepatternオプションは,recurrencetimeオプションおよびrecurrencestartオプションとあわせて指定します。なお,次のどちらかに該当する場合は,コマンドの実行に失敗します。
引数の組み合わせが不正な場合
引数の組み合わせについては「表1‒10 submittaskコマンドの引数の組み合わせ」を参照してください。
指定した定期実行周期の形式が誤っている場合
定期実行周期の種別は,毎日,毎週,毎月の3つがあります。定期実行周期の書式は,定期実行周期の種別ごとに異なります。
- 毎日
1日に1回実行する場合は,dailyを指定します。
定期実行の間隔を時間単位で指定して実行する場合は,daily:{1h|2h|3h|4h|6h|8h|12h|24h}の形式で指定します。先頭にdaily:を指定し,時間間隔を1h,2h,3h,4h,6h,8h,12h,24hの中から指定します。
- 毎週
weekly:sun,mon,...,satの形式で指定します。
先頭にweekly:を指定し,サービスを実行する曜日を「,」区切りで指定します。曜日の略称には,sun,mon,tue,wed,thu,fri,satを使用します。曜日を指定する際,順序は問いません。同じ曜日が複数回指定されている場合は,引数不正のエラーとなります。
- 毎月
monthly:{dd,dd,...,dd[,endofmonth] | endofmonth}を指定します。
先頭にmonthly:を指定し,サービスを実行する日を「,」区切りで指定します。月末にサービスを実行する場合は,endofmonthを指定します。日を指定する際,順序は問いません。ただし,日と月末を同時に指定する場合は,endofmonthを最後に指定します。日を指定する場合,1(または01)から31の半角数字で指定します。なお,次の場合は,引数不正のエラーとなります。
・同じ日が複数回指定されている場合
・0以下や32以上などの存在しない日を指定した場合
・endofmonthが最後に指定されていない場合
日の指定で存在しない月の定期実行はスキップされます。例えば毎月30や31日を指定したとき,2月の定期実行はスキップされます。
- /recurrencetime hh:mm
サービスを定期実行する時分を,「hh:mm」の形式で指定します。「hh」には時を00から23の半角数字で指定します。「mm」には分を00から59の半角数字で指定します。recurrencetimeオプションは,recurrencepatternオプションおよびrecurrencestartオプションとあわせて指定します。なお,次のどちらかに該当する場合は,コマンドの実行に失敗します。
引数の組み合わせが不正な場合
引数の組み合わせについては「表1‒10 submittaskコマンドの引数の組み合わせ」を参照してください。
指定した時刻の形式が不正な場合
- /recurrencestart yyyy-mm-dd
サービスを定期実行する際の適用開始日を「yyyy-mm-dd」の形式で指定します。「yyyy」には西暦を4桁の半角数字で指定します。「mm」には月を1(または01)から12の半角数字で指定します。「dd」には日を1(または01)から31の半角数字で指定します。recurrencestartオプションは,recurrencepatternオプションおよびrecurrencetimeオプションとあわせて指定します。なお,次のどれかに該当する場合は,コマンドの実行に失敗します。
引数の組み合わせが不正な場合
引数の組み合わせについては「表1‒10 submittaskコマンドの引数の組み合わせ」を参照してください。
指定した年月日の形式が不正な場合
指定した年月日が1994年1月1日から2036年12月31日の範囲外である場合
submittaskコマンドの引数の組み合わせ
オプション |
サービスの即時実行 |
サービスの指定日時実行 |
サービスの定期実行 |
スケジュールされたタスクの一括再登録 |
---|---|---|---|---|
/servicename |
◎ |
◎ |
◎ |
× |
/servicegroup |
○ |
○ |
○ |
× |
/taskname |
○ |
○ |
○ |
× |
/taskdescription |
○ |
○ |
○ |
× |
/property※1 |
○ |
○ |
○ |
× |
/propertyfile※1 |
○ |
○ |
○ |
× |
/reregister |
× |
× |
× |
◎ |
/taskdetaildir |
× |
× |
× |
◎ |
/setoriginalsubmitter |
× |
× |
× |
○ |
/user |
◎ |
◎ |
◎ |
◎ |
/password※2 |
◎ |
◎ |
◎ |
◎ |
/passwordfile※2 |
◎ |
◎ |
◎ |
◎ |
/wait |
○ |
× |
× |
× |
/scheduledate |
× |
◎ |
× |
× |
/scheduletime |
× |
◎ |
× |
× |
/recurrencepattern |
× |
× |
◎ |
× |
/recurrencetime |
× |
× |
◎ |
× |
/recurrencestart |
× |
× |
◎ |
× |
- (凡例)
◎:必ず指定します。省略した場合は引数エラーになります。
○:省略できます。
×:指定できません。指定した場合は引数エラーになります。
- 注※1
propertyオプションまたはpropertyfileオプションのどちらか一方を指定してください。両方を同時に指定するとエラーになります。
- 注※2
passwordオプションまたはpasswordfileオプションのどちらか一方を指定してください。両方を同時に指定するとエラーになります。
格納先
- Windowsの場合
JP1/AOのインストール先フォルダ\bin
- Linuxの場合
/opt/jp1ao/bin
実行権限
OSのAdministrators権限またはroot権限を持つユーザーで実行してください。Administrators権限またはroot権限がない場合は,権限昇格を求めるメッセージが表示されます。
コマンド実行ユーザーが所属するユーザーグループから,実行したいサービスのサービスグループに対してAdminロール,Developロール,ModifyロールまたはSubmitロールが設定されている必要があります。ロールが設定されていないサービスグループのサービスについては実行できません。
userオプションに指定するユーザーに必要な権限を次に示します。
サービスを実行する場合
userオプションに指定するユーザーが所属するユーザーグループから,操作対象のサービスグループに対して,Adminロール,Developロール,ModifyロールまたはSubmitロールが設定されている必要があります。それぞれ,実行権限のあるサービスだけを実行できます。
タスクを一括再登録する場合
userオプションに指定するユーザーには,Adminロールが設定されている必要があります。
戻り値
コマンドの戻り値を次の表に示します。
戻り値 |
説明 |
---|---|
0 |
正常に終了しました。 |
1 |
引数が不正です。 |
2 |
コマンドの実行を中断しました。 |
3 |
サービスの状態が不正です。 |
5 |
通信に失敗しました。 |
6 |
認証に失敗しました。 |
7 |
パスの指定が不正です。 |
9 |
指定したパスが存在しません。 |
10 |
指定したパスにアクセスできません。 |
14 |
コマンドの実行権限がありません。 |
130 |
サービスの開始に失敗しました。 |
131 |
プロパティファイルが存在しません。 |
132 |
プロパティファイルの形式が不正です。 |
133 |
タスクの状態取得に失敗しました。(waitオプション指定時) |
134 |
タスクの実行に失敗しました。(waitオプション指定時) |
136 |
タスク詳細情報格納フォルダのデータ形式が不正です。 |
137 |
予定されたタスクの一括再登録が一部失敗しました。 |
138 |
予定されたタスクの一括再登録がすべて失敗しました。 |
139 |
タスク詳細情報格納フォルダを出力したJP1/AOと,インストールされているJP1/AOのバージョンまたはリビジョンが異なります。 |
255 |
そのほかのエラーでコマンドの実行が中断しました。 |
使用例
次の場合のコマンドの使用例を示します。
Windowsで,サービス名で指定したサービスにプロパティおよびプロパティ値を指定して実行する場合
submittask /servicename service01 /user user01 /password pass01 /property keyA valueA /property keyB "value B" /property keyC valueC,valueD
Windowsで,サービスグループとサービス名で指定したサービスに対して,タスク名,タスクの説明,およびプロパティファイルを指定して実行する場合
submittask /servicename service02 /servicegroup servicegroupA /taskname task02 /taskdescription testtask /propertyfile C:\properties.txt /user user02 /password pass02
Windowsで,タスクの実行結果を出力してからコマンドが終了するようにする場合
submittask /servicename service03 /user user03 /password pass03 /wait
Windowsで,日時を指定してサービスを実行する場合
submittask /servicename service04 /user user04 /password pass04 /scheduledate 2014-01-01 /scheduletime 15:30
Windowsで,定期実行する場合
submittask /servicename service05 /user user05 /password pass05 /recurrencepattern weekly:sun,mon,fri /recurrencetime 15:30 /recurrencestart 2013-06-17
Windowsで,予定されたタスクを一括再登録する場合
submittask /reregister /taskdetaildir "C:\data\taskdetail" /user user06 /password pass06