• ベストアンサー

バッチ運用の仕様を時系列?に纏めたい

いつもお世話になっています。 現在ファイル操作を主としたバッチ(unix,shell)を組んでいます。 機能別に用意されたシェルを順々に呼び出して、そのお互いの連携 により処理を実現していますが、構造が複雑になり、管理が大変に なってきました。 上記を整理するため、何か資料に纏めたいと思っているのですが なかなか思うような資料を作れません。 独立して順々に動作するので時系列で纏めるべきかとおもうのですが・・ なにかヒントになるものがいただければ幸いです。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

処理自体ではなく・・・こっちですね ^ ^; 遷移図かシーケンス図で纏めると良いと思いますよ 遷移図 http://ja.wikipedia.org/wiki/%E7%8A%B6%E6%85%8B%E9%81%B7%E7%A7%BB%E5%9B%B3 シーケンス図 http://wisdom.sakura.ne.jp/solution/uml/behavior/behavior2.html

geso775
質問者

お礼

お礼が遅くなり申し訳ありません。 おかげさまで作成できました。有難うございました。

geso775
質問者

補足

ご回答頂き有難うございます。 ご提示頂いたシーケンス図を使いたいと思います。 今まで遷移図もどき(楕円を書くオブジェクト図)で構造は整理 できていたのですが、その詳細の相互作用が纏められませんでした。 さっそく作成に取り掛かってみます。

その他の回答 (1)

回答No.1

仕様が把握しずらいので外しているかもしれませんが・・・ 1./tmp/Flag-A, B, ... N というフラッグを作成 2.機能別のシェルは、特定のフラッグ( /tmp/Flag-X )を監視 3.監視しているフラッグ( /tmp/Flag-X )が削除されたらシェルを実行

関連するQ&A

  • unixのシェルを自動で、キックしたい

    現在のUNIXのデイリーバッチジョブの起動を、できる範囲で自動化したいのですが、 UNIX初心者の為、どうしたら良いのか、全く判りません。 《現在の流れ》 (1)windows のoutlookメールで、バッチジョブの依頼を受ける。(リクエスト項目は、対象日付と対象時間) (2)telnetでunixサーバにログインして、対象の業務のシェルの日付をパラメータで渡して、 手動でシェルをキックをする。 (3)cronで完了メールと実行ログの送出をする。 unixは、HP-UX11.0で、kシェルを使用しています。 上記のような事は、どうしたら実現できるのでしょうか?。 また、wshで、メールの解析をして、バッチジョブ依頼メールから、リクエスト項目を抽出し、 unix シェルの自動起動をする。などという事は、可能なのでしょうか?。 どなたか、詳しい方、お教え願い下さい。 よろしくお願い致します。 同じような運用の仕方をされている方、もしくはお判りの方、ぜひお教えください。

  • タスクスケジューラからのバッチ起動

    タスクスケジューラからのバッチ起動で動作せず困っております [環境] ・windows server 2008 システムディスク:C ・共有ディスクをLANにて接続 ネットワークドライブとしてD:に設定 [動作概要] ・バッチ(*.vbs,*.bat)、データ、ログをD:に配置 ・タスクスケジューラに*.vbsを登録 ・*.vbsからD:にある*.batを起動(WScript.Run) [事象] ・*.vbsをGUIよりダブルクリック/エンターキーでは問題なく起動 ・*.vbsをタスクスケジューラから起動するととまってしまう ・*.vbs内の*.batコール箇所をコメントして実行で動作は最後まで終了 ・*.bat単体で動作させても問題なく終了 ・*.batをタスクスケジューラで起動するととまってしまう *.bat内で(>D:)などのディレクトリ移動コマンドを入れてもとまってしまう [原因推測] ・タスクスケジューラからネットワークドライブが認識できない? ・*.vbsで実施するWScript.Runの実行者がsystemで、 ネットワークドライブの認識用の環境情報(unixでいうcshrcみたいなもの)を 読み込まないで動作する? [問] ・上記構成では動作ができないのでしょうか? ・実現可能な方法があればヒントでもほしい 大変複雑な内容になって申し訳ありませんが 何か察することがあればコメントください

  • シェルでファイルの最下行を削除する方法

    シェルでファイルの最下行を削除する方法 シェルで、ファイルaaa.txtの最下行を削除したいです。これを1行で実現したいです。 exには-cってオプションがあるので、ex -c '$d' aaa.txt などと試してみましたがダメでした。 ;(コロン)や&&でつなぐのは、1行ではないって事でお願いします。 >cp aaa.txt tmp && sed '$d' tmp >aaa && rm tmp #こういうのは無しって意味です。 事前にスクリプトや、それ専用のバイナリを用意しておくのも無しでお願いします。なるべく汎用的な どこのUNIXにでもあるようなコマンドで実現したいです。

  • 必須のUNIXコマンドとは

    ある事情で、ゴールデンウィーク明けまでにUNIXコマンドをある程度使えるようにならなければならなくなりました。 一応、コマンド集は買ってきたのですが、これを全てマスターするのはちょっと無理っぽいです。 そこで、とりあえず、このコマンドは知っておけ、というのがありましたら教えていただけませんでしょうか。 用途は主にLANの管理で、webサーバ、メールサーバ、ちょっとしたシェルスクリプトの保守と行ったところです。 MS-DOSのバッチファイルとかの経験はありますので、コマンドラインに対する拒絶反応とかはありません。 また、ディレクトリ構造とかマウントとかタスクとかログインとかの概念については理解しているつもりです。 細かいオプションとかパラメータについてはコマンド集を見たり、MANで探ったりします。

  • 創業時の助成金について

    恐れ入ります。 このたび独立を考えております。 業種はITサービスって言ったところでしょうか。(これ以上は企業秘密です。ごめんなさい) 当初個人事業主ではじめてみようかと思っております。 最終的には小型機器のメーカー迄持って生きたいのです。 (ITサービスと小型機器のメーカーって業種が違うように感じられると思われるでしょが、 バッファ○ーやI○-DATAの業態などを考えると実は互いに連携してたリするのです。) 創業にあたり、資金が少しだけ足りません。(7~8割がたは用意できる) 銀行は無理と思われ(雨の日にかさを取り上げる) 国民金融公庫で相談するつもりですが、 その他受けられる助成金などあれば教えてください。

  • クライアントからサーバーの実行ファイルをサーバー側で実行したい

    サーバーもクライアントもWindowsの環境で、Visual Basic 2005 を使い、クライアントからサーバーにある 実行ファイル(.exe)をサーバー側で実行したい のですが、どうもうまくいきません。shell 関数や Process.Start メソッドを使い、httpプロトコル (http://~)で実行ファイルを指定するようにした のですが、クライアント側で実行しようとします。 また、コマンドライン引数を指定したいです。 もちろん、サーバー側にはWebサーバー(IISのWWW サービス)をインストールしてあります。 UNIX系のrsh(リモートシェル)に相当するような 機能をWindowsでは実現できないのでしょうか? お分かりの方いらっしゃいましたらご教授のほど よろしくお願いします。

  • Perlでインタラクティブシェル<Perlsh?>の利用方法について

    Perl初心者です。 Perl習得もおぼつかなかったのですが、RubyやPythonも同じようにかじってみたところ、インタラクティブシェルがあることの気付きました。 そして調べたのですが、PerlにもPerlshというものがあるそうなのですが、その資料、私が初心者なのでよく分かりませんし、どうやらUNIX系の解説らしいのです(私はWindows版Perl<ActivePerl>です)。 初心者がこのことを質問するのが許せないかもしれませんが(初心者だからしてはいけないのではなく初心者だからこそ経験を積みたいのです)、そのおかげでPerlの習得速度が上るとはずだと思うので、すでに実行されてる方がいらっしゃったら、気が向いたらで結構ですので(ホントに無視してもらっても構いません)、ヒントをください。 Windowsでもできますでしょうか。 ホントに初心者です。CPANやPPMとかは使ったことありますが、使いこなせていません(CPANについてはcpanとコマンド打つだけで引数<installなど>無しで出ましたが、今は出来ませんし、ppmは最近やっと出来るようになりました)。 私自身UNIXの知識全くといっていいほどはないのですが(Cygwinをインストールしましたが<出来たのか不明>さっぱりです&make?configure?なにそれ?ってレベルです)、それに関する代用のツールやこれからのPerl習得のヒントを教えていただけたらなと思います。 のんびりやっていきたいなと思ってPerlをしていますので(挫折するかもしれませんが)、それ相応にお願いします(概略だけで結構なんで)。

    • ベストアンサー
    • Perl
  • D20 - DXF, IGES

     設計部門にいるのに設計に携わってない者です^^; 最近、EWS 版から NT 版の CADIAN に切り替えるとのことで図面データの形式やディレクトリ構造の見直しを行ってます。 なんですが、3688 の t.hako さんと同様のことで行き詰まってます。  今は、お試し用の NT 版 Cadian Draw をパソコンごと借りています。  これを見ると確かに NT 版には連続変換機能がついています。ですがこれではユーザーの手が掛かります。 そこで決まった時間に自動で変換するために、IGES もしくは DXF のパラメータファイルを生成して付属のバッチファイル(変換コンバーター起動)にパラメーターファイルを渡すアプリを作成したのですが・・・ どうも IGES 変換でのバッチ処理が cadian draw から処理した場合とバッチを直に起動した場合とで動作が違う。 簡単に言えば、変換してくれない(涙) DXF では問題なさそうなんですが、この DXF 変換機能の方ももともとUNIX コマンドだったのを NuTC Shell を使って win 上で動かしている様で・・・ 実際に NT 版を購入したときに NuTC Shell がついてくるかどうか・・・ 色々調べたところ、cadian draw での IGES 変換の際、セキュリティカタログファイルへのアクセスや新規に作成したディレクトリに幾つものファイルを作成したり、いったい何をどうしているのかさっぱりです。 ここのところ悪戦苦闘の毎日です。このあたりの仕様に詳しい方是非教えて頂きたいです。

  • クーロンでJAVA実行するshellを実行。クラスパスを記述したがエラー発生

    OSはUNIXです。 クーロンでshellを起動し、そのshellの中でJAVAコマンドの実行を行いたいのですが、 クーロンで実行する際は、どうもクラスパスを定義しないといけないという話を聞き、 shellの中で、以下のようにクラスパスの部分を追記しました。 #!/bin/sh ##以下2行追記## CLASSPATH=/opt/DynamicWORKs/abc:/opt/DynamicWORKs/services/abc/def export CLASSPATH ##追記はここまで## java aaa.bbb.ccc.ddd/conf/abc.properties クラスパスは、envでたたいたあとでてきたCLASSPATHの記述をそのまま漏れなく記述しました。 そのあと、クーロンで実行したところ、 以下のようなエラーがクーロンのログででました。(abc.shはJAVAを実行するための親シェル) > CMD: sh /usr/local/sh/4/abc.sh > root 17553 c (月) 9月 8 17:24:00 2003 < root 17553 c (月) 9月 8 17:24:02 2003 rc=1 rc=1は明らかに環境変数のエラーだそうです。 しかし、他に一体何が足りないのか!?がさっぱりです。 少しでもヒントをご存知の方、よろしくお願いします。

  • Windows Server 2003 上の実行ファイルをリモートから実行する方法

    運用管理サーバから同じネットワーク内に接続されている Windows Server 2003 上の実行ファイルをリモートで実行したいのですが、できれば標準機能でこれを実現する事はできますか?(ターミナルサービス?rexec?) ここでいう実行ファイルとはバックアップ用のバッチファイル(exe かもしれません)だったりといった小さなツールを想定しています。 運用管理サーバが UNIX(Solaris)の場合と Windows Server 2003 だった場合でそれぞれいい実装案があればご教授頂きたいです(関連 URL の提示くらいのヒントでも構いません) リモート実行したツールがうまく実行できたかどうか(戻り値の取得?)とかネットワーク的なプロトコルはどうなるんだろう・・・とか、そんな細かいところまでまとめて説明しているページがあれば嬉しいのですが・・・