2004年05月02日

cygwinのシェルを定期実行

cygwinにはcrondがあってそれをサービスとして登録すればcronが使えるはずなんですが、どうにもうちの環境ではちゃんと動いてくれないのでWindowsのタスクマネージャーからシェルスクリプトを定時実行させています。

また、タスクマネージャーって意外と高性能なので、crondが動く環境でも役に立つかもしれないので下にやり方を書いておきます。

やり方は簡単でまずタスクマネージャーの「タスクの追加」から適当なプログラムを選択してタスクを追加します。
追加したら、タスクのプロパティを表示させて実行させるプログラムを以下のように書き換えます。

C:\cygwin\bin\bash.exe --login -i C:\cygwin\home\hoge\shell.sh
次に「実行するアカウント名」をいつもcygwinを使うときにWindowsにログインするアカウント名に変更します。
で、そのアカウントのパスワードを入力すれば完了です。

これでC:\cygwin\home\hoge\shell.shを設定したスケジュール通りに実行してくれます。

なお、この際のシェルスクリプトのパスはあくまでWindows上から見たパスを指定しますが、シェルスクリプトの中ではcygwin上でのパスで指定して、各コマンドを記述してください。

また、同様の方法で、シェルスクリプトを起動するショートカットも作れるので、いろいろと応用するとCygwin環境がより使いやすくなるかもしれません。

Posted by Takuchan at 2004年05月02日 00:02 | トラックバック(0)