(57)【要約】【課題】各プログラムを適用する際に必要なコマンドが違っても、実行確認が必要な場合のみ対話形式となる実行シェルファイルを自動生成する。【解決手段】コマンド一覧の各エントリの実行方法フラグが「自動実行」の場合は、実行確認メッセージを出力せずに、前記実行方法フラグに対応するコマンドを実行する処理と、前記コマンドを実行した後に期待した返り値が戻らない場合は、再実行か、スキップか、処理中断かを対話形式で受け付けて実行する処理を行わせるプログラムを実行シェルファイルに記載する手段と、コマンド一覧の各エントリの実行方法フラグが「確認実行」の場合は、実行方法フラグに対応するコマンドを実行するか、スキップか、処理中断かを対話形式で受け付けて実行する処理と、コマンドを実行した後に期待した返り値が戻らない場合は、再実行か、スキップか、処理中断かを対話形式で受け付けて実行する処理を行わせるプログラムを実行シェルファイルに記載する手段とを有する。【選択図】図４
2010146167.tif 000002
【特許請求の範囲】
【請求項１】
ＵＮＩＸ上で、プログラム適用に必要なコマンド一覧を読み込み、前記コマンド一覧に記載されている一連のコマンドを実行する実行シェルファイルを生成するプログラム適用支援ツールであって、
前記コマンド一覧は、各エントリが、管理番号と、実行方法フラグと、実行するコマンドとから構成され、
前記コマンド一覧の各エントリの前記実行方法フラグが「自動実行」の場合は、実行確認メッセージを出力せずに、前記実行方法フラグに対応する前記コマンドを実行する処理と、前記コマンドを実行した後に期待した返り値が戻らない場合は、再実行か、スキップか、処理中断かを対話形式で受け付けて実行する処理を行わせるプログラムを前記実行シェルファイルに記載する手段と、
前記コマンド一覧の各エントリの前記実行方法フラグが「確認実行」の場合は、前記実行方法フラグに対応する前記コマンドを実行するか、スキップか、処理中断かを対話形式で受け付けて実行する処理と、前記コマンドを実行した後に期待した返り値が戻らない場合は、再実行か、スキップか、処理中断かを対話形式で受け付けて実行する処理を行わせるプログラムを前記実行シェルファイルに記載する手段とを有することを特徴とするプログラム適用支援ツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム適用支援ツールに係わり、特に、ＵＮＩＸ上で稼働する個別開発プログラムの適用に際し、リリースに必要なコマンドを対話形式で実行する実行シェルファイルを自動作成する技術に関する。
【背景技術】
【０００２】
従来、ハードウェアの高スペック化や運用効率化のためのインフラ統合などにより、企業内で個別に開発されたプログラムが同じプラットフォーム上で複数運用される場合、プログラムの開発業者が個々に異なる場合がある。
この場合、リソースの使用状況確認から、バックアップ、ファイルのコピー、権限の変更等、一連の作業で共通する内容については標準化し、各プログラムでプログラム個別に必要な処理（コマンド実行）は手順を作成して実施している。
また、同じ手順で作業が可能な場合、一連のコマンド実行を記載したシェルを作成して対応している。
【０００３】
なお、本願発明に関連する先行技術文献としては以下のものがある。
【特許文献１】特開平１０−２１０６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述したような対応では、実施手順が正しいかレビューしたとしても、作業者がその内容の通り、コマンドラインから実行するかの保証はできない。
また、前述の特許文献１のように、パラメータを与えてシェルを自動生成する方法もあるが、処理中断の必要がある場合を考慮した対話形式のコマンド実行シェルを都度作成するためには、相応の時間を必要とするという問題があった。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、各プログラムを適用する際に必要なコマンドが違っても、実行確認が必要な場合のみ対話形式となる実行シェルファイルを自動生成することが可能なプログラム適用支援ツールを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【課題を解決するための手段】
【０００５】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
前述の目的を達成するために、本発明は、ＵＮＩＸ上で、プログラム適用に必要なコマンド一覧を読み込み、前記コマンド一覧に記載されている一連のコマンドを実行する実行シェルファイルを生成するプログラム適用支援ツールであって、前記コマンド一覧は、各エントリが、管理番号と、実行方法フラグと、実行するコマンドとから構成され、前記コマンド一覧の各エントリの前記実行方法フラグが「自動実行」の場合は、実行確認メッセージを出力せずに、前記実行方法フラグに対応する前記コマンドを実行する処理と、前記コマンドを実行した後に期待した返り値が戻らない場合は、再実行か、スキップか、処理中断かを対話形式で受け付けて実行する処理を行わせるプログラムを前記実行シェルファイルに記載する手段と、前記コマンド一覧の各エントリの前記実行方法フラグが「確認実行」の場合は、前記実行方法フラグに対応する前記コマンドを実行するか、スキップか、処理中断かを対話形式で受け付けて実行する処理と、前記コマンドを実行した後に期待した返り値が戻らない場合は、再実行か、スキップか、処理中断かを対話形式で受け付けて実行する処理を行わせるプログラムを前記実行シェルファイルに記載する手段とを有することを特徴とする。
【発明の効果】
【０００６】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明によれば、各プログラムを適用する際に必要なコマンドが違っても、実行確認が必要な場合のみ対話形式となる実行シェルを自動生成することが可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して本発明の実施例を詳細に説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
図１は、本発明の実施例のプログラム適用支援ツールの機能要素と各ファイル構成を示すブロック図である。図１において、１００はプログラム適用支援ツール、２００はコマンド一覧、３００は実行シェルファイルである。
ＵＮＩＸ上で実行されるプログラム適用支援ツール１００は、共通処理演算部１１０と、実行シェル演算部１２０と、終了処理演算部１３０とで構成される。
図２は、図１に示すコマンド一覧２００の一例を示す図である。
コマンド一覧２００は、図２に示すように、実行コマンドの管理する管理番号２１０と、実行方法と期待返り値を記載した実行方法フラグ２２０と、実行するコマンドを記載した実行コマンド２３０から一つのエントリが構成される。
共通処理演算部１１０は、どの作業にも共通して必要な情報のメッセージ出力部分を実行シェルファイル３００に書き出す。
実行シェル演算部１２０は、後述する図２のコマンド一覧２００から、管理番号２１０、実行方法フラグ２２０、実行コマンド２３０を読み込み、それぞれ実行方法フラグにあわせたコマンドの実行処理を実行シェルファイル３００に書き出す。終了処理演算部１３０では、実行権限を実行シェルファイル３００に付与する。
【０００８】
本実施例では、ＵＮＩＸ上のログインユーザーで実行可能なディレクトリに、プログラム適用支援ツール１００とコマンド一覧２００を配置し、プログラム適用支援ツール１００を実行する。
次に、プログラム適用支援ツール１００で行われる処理の概要について、図３、図４、図５、図６を参照しながら説明する。
図３は、図１に示す共通処理演算部１１０の処理手順を示すフローチャートである。
ステップＳ１１１において、実行シェルファイルの生成及び既存ファイルチェックなどの生成に必要なエラーチェックを行い、ステップＳ１１２において、シェルで実行する処理（ステップＳ１１２に記載されている、下記（１）〜（５）の処理）を決定し、ステップＳ１１３において、当該処理を実行するプログラムを実行シェルファイル３００に書き込む。
（１）ホスト名、日時、ログインユーザー、現在の作業場所を表示
（２）Ａｂｏｒｔログファイルがある場合、ファイルを読込み、実行選択肢表示［（管理番号）から作業するか：ｙ（Ｓｕｒｅ）／ｎ（Ｎｏ）／ａ（Ａｂｏｒｔ）］
（３）ｙの場合：管理番号のコマンドより実行
（４）ｎの場合：最初から実行
（５）ａの場合：処理終了
【０００９】
図４および図５は、図２に示す実行シェル演算部１２０の処理手順を示すフローチャートである。
前述の図３の共通処理が終わった後、ステップＳ１２１において、図１のコマンド一覧２００を読み込み、ステップＳ１２２において、実行方法フラグが”ｃ”か否かを判定する。
例えば、実行判定フラグの記載値が、コメントの表示のみを”ｃ”、自動実行の場合を”ｓ”＋  ”期待返り値”、確認実行の場合を”期待返り値”のみとした場合の処理を説明する。ここで、例えば、図２のコマンド一覧２００における、『000000  0s  set+u』のエントリの場合、”期待返り値”は「０」となる。
実行判定フラグが”ｃ”の場合（ステップＳ１２２において、「Ｙｅｓ」の場合）、ステップＳ１２３において、シェルで実行する処理（ステップＳ１２３に記載されている、下記（６）〜（８）の処理）を決定し、ステップＳ１２７において、当該処理を実行するプログラムを実行シェルファイル３００に書き込む。
（６）実行選択肢表示［一連の作業を実行するか：ｙ（Ｓｕｒｅ）／ａ（Ａｂｏｒｔ）］
（７）ｙの場合：次の処理へ。
（８）ａの場合：同一の管理番号は実行せず、次に出現する管理番号の処理を実行。
実行判定フラグが「ｃ」の、コメントのみの表示は、それに続く一連の作業の説明となるので、例えば、「ＸＸサービスの停止を行いますか？［ｙ（Ｓｕｒｅ）／ｎ（Ｎｏ）／ａ（Ａｂｏｒｔ）］と表示された場合、既に他の作業でサービス停止されていることが明確な場合は、「ｎ」と入力することで、この「ｃ」と同じ管理番号がついているコマンドは実行させない処理とすることができる。
【００１０】
実行判定フラグが”ｃ”で無い場合（ステップＳ１２２において、「Ｎｏ」の場合）、ステップＳ１２４において、実行方法フラグに”ｓ”を含むか否かを判定する。
次に、実行判定フラグに”ｓ”を含む場合（ステップＳ１２３において、「Ｙｅｓ」の場合）、ステップＳ１２５において、シェルで実行する処理（ステップＳ１２５に記載されている、下記（９）〜（１２）の処理）を決定し、ステップＳ１２７において、当該処理を実行するプログラムを実行シェルファイル３００に書き込む。
この自動実行は、作業者の実行を確認する必要がなく強制的に実行するコマンドを想定しているが、返り値が期待通りでなかった場合は、その後の実行選択処理が必要となる。
（９）実行して次の処理へ。返り値が期待値ではなかった場合は、実行選択肢［ｒ（Ｒｅｔｒｙ）／ｉ（Ｉｇｎｏｒｅ）／Ａ（Ａｂｏｒｔ）］
（１０）ｒの場合：実行して次の処理へ。返り値が期待値ではなかった場合は、上記と同様。
（１１）ｉの場合：次の処理へ。
（１２）ａの場合：処理の終了。管理番号を記載したＡｂｏｒｔログファイルの作成。
【００１１】
行判定フラグが”期待返り値”のみの場合（ステップＳ１２３において、「Ｎｏ」の場合）、ステップＳ１２６において、シェルで実行する処理（ステップＳ１２６に記載されている、下記（１３）〜（１６）の処理）を決定し、ステップＳ１２７において、当該処理を実行するプログラムを実行シェルファイル３００に書き込む。
（１３）実行選択肢［コマンドを実行するか：ｒ（Ｒｕｎ）／ｓ（Ｓｋｉｐ）／ａ（Ａｂｏｒｔ）］
（１４）ｒの場合：実行して次の処理へ。返り値が期待値ではなかった場合は、実行選択肢［ｒ（Ｒｅｔｒｙ）／ｉ（Ｉｇｎｏｒｅ）／ａ（Ａｂｏｒｔ）］
（１５）ｓの場合：次の処理へ。
（１６）ａの場合：処理の終了。管理番号を記載したＡｂｏｒｔログファイルの作成。
この確認実行は、作業者の実行を確認するため、共通的に使うコマンド一覧に利用すると有効となる。
これらの処理をコマンド一覧２００の中の全ての記載に対して実行するために、Ｓ１２８において、対象となるコマンド処理がまだあるかを確認する。
【００１２】
図６は、図１に示す終了処理演算部１３０の処理手順を示すフローチャートである。
最後にステップＳ１３１において、終了処理を実行するプログラムを実行シェルファイル３００に記載し、ステップＳ１３２において、実行シェルファイル３００に対して、権限を付与し、実行可能なシェルファイルとする。
以上説明したように、本実施例によれば、コマンド一覧２００から対話形式の実行シェルファイル３００を生成できるため、作業者が事前に確認した内容どおり、作業を行うことが保証される。また、対話形式のコマンド実行シェルファイルを個別に作成する必要がないため、作成にかかる時間を短縮できる。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例のプログラム適用支援ツールの機能要素と各ファイル構成を示すブロック図である。
【図２】図１に示すコマンド一覧の一例を示す図である。
【図３】図１に示す共通処理演算部の処理手順を示すフローチャートである。
【図４】図１に示す実行シェル演算部の処理手順を示すフローチャートである。
【図５】図１に示す実行シェル演算部の処理手順を示すフローチャートである。
【図６】図１に示す終了処理演算部の処理手順を示すフローチャートである。
【符号の説明】
【００１４】
１００  プログラム適用支援ツール
１１０  プログラム適用支援ツールの共通処理演算部
１２０  プログラム適用支援ツールの実行シェル演算部
１３０  プログラム適用支援ツールの終了処理演算部
２００  コマンド一覧
２１０  管理番号
２２０  実行方法フラグ
２３０  実行コマンド
３００  実行シェルファイル
【図１】
2010146167.tif 000003
【図２】
2010146167.tif 000004
【図３】
2010146167.tif 000005
【図４】
2010146167.tif 000006
【図５】
2010146167.tif 000007
【図６】
2010146167.tif 000008