タスクスケジューラ
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の引数と解釈されてしまう
参考: