手作業を自動化する手順


かなりチラシの裏ですが・・・

日々定型業務と呼べないはずの作業が定型化することがあると思います。
次に作業するのが数か月後とかになるやつです。

そんな作業も順をコマンド1発の自動化する手順を持っているので、一応形にしておきたいと思います。
この手順の利点は、作業毎に少しずつ改善することでめったにしない作業を自動化したり、自動化をするのが遅かったりがないことです。また、自動化のための時間をわざわざ確保しなくても良いのが利点です。

前提条件

 コマンドラインで作業しましょうプログラマ用のツールであればコマンドラインもしくは、テキストファイルをコマンドラインから読み込ませる事ができるはずです。あらゆる作業をGUIを避けるようにしてください。

1.ログを残す

 どのような作業であれ、コマンドラインで実行し、そのログを記録します。名称などを工夫し後で見つけやすいようにしましょう。

2.テンプレート化

 前回のログファイルで実行したコマンドから、実行コマンドの部分だけを切り出してファイルにします。今回、変更が必要な部分をテキスト置換で実行できるように切り出し、テンプレートとます。途中でキーとなる値を検索し、その値をもと・・・にという場合は、テンプレートを分けます。

 利用方法は、テンプレートファイル一式をコピーして置換しながら実行します。何度か実行するうちに変更すべき点がどこなのかハッキリします。

3.変数化

 テンプレートの置換部分を引数指定で実行できるように変更します。これで部分的に自動化されます。

4.自動生成

 コマンドの実行結果から次の作業につながる場合は引数ではうまくいかない場合があります。その場合は、実行結果からスクリプトを自動生成します。多くの場合はそれをほど複雑なものにならないでコマンドラインのみで生成できると思います。

5.ツールとして周知

 このレベルまで持ってこれた作業はもはや定型作業といえると思います。システムに組み込んで保守対象としましょう。
 

 その他の注意として、実行結果のログはきちんと出力されるようにしましょう。場合によっては調査用と実行用に分けて変更の可否を判断してから実行するようにします。