タスクスケジューラでcygwinシェルスクリプト

タスクスケジューラ

cygwinシェルスクリプトを定期実行しようと思った場合、主にcygwinのcygserv+cronでやる方法と、Windowsのタスクスケジューラでやる方法があるらしい。

  • Windows7の場合、タスクスケジューラは「コントロールパネル」→「システムとセキュリティ」→「管理ツール」の下に「タスクのスケジュール」にある
  • ちなみにWindowsXPでは「コントロールパネル」→「タスク」だった
  • 「タスクの作成」を行い、操作タブで次のようなコマンドを登録
 プログラムスクリプト c:\cygwin\bin\bash.exe
  引数の追加 --login /home/XXX/YYYY.sh

ただし実行時にDOSプロンプトみたいなウィンドウ(taskeng.exeというタイトル)が表示される。

ウィンドウを出さない方法
これを消す方法を探したところ、hstart (http://www.ntwind.com/software/utilities/hstart.html )を使う方法が見つかった。

このサイトから hstart.zip をダウンロードして、中にある hstart.exe をどこかに置き、次のように実行させる。

 プログラムスクリプト c:\dokoka\hstart.exe
  引数の追加 /NOCONSOLE "c:\cygwin\bin\bash.exe --login /home/XXX/YYYY.sh"

実行させるコマンドラインはダブルクオートで括らないと、"--login"がhstartの引数と解釈されてしまう

参考: