インストールメモ:Cygwin の cron を Windows のサービスとして登録する

2018年9月。
Cygwin の cron をデーモンとして使うために Windows のサービスとして登録する時のコツ (?)。 の自分用メモ。 とりあえずインストールというかデーモン自動起動設定のみ。 環境は Windows 7 (64bit) + Cygwin (32bit 版)。


0. cygwin と cron と cygrunsrv を (setup.exe から) インストールする

特に注記すべき手順はないので詳細は略。 cron とか cygrunsrv あたりはひょっとすると cygwin インストール時にデフォルトでインストールされてるかもしれない (そのへんはわからん)。

1. cron を Windows のサービスとして登録する

bash 上から cygrunsrv を使って登録する。

cygrunsrv -I cron -d "Cygwin cron" -p /usr/sbin/cron -a "-n" -u user-name -w user-password
-I cron
登録サービスの名前
-d "Cygwin cron"
Windows のサービス一覧で表示されるサービス名 (テキトウでよろし)
-p /usr/sbin/cron
実行パス
-a "-n"
cron の起動オプション : バックグラウンドプロセスにせずに起動
-u user-name
Windows のログインユーザアカウント
-w user-password
Windows のログインユーザパスワード

なお、cron-config というスクリプトが /bin に用意されているので、そっちを使ってもよろしい。

2. 登録した lighttpd サービスの起動

コマンドラインから「cygrunsrv -S cron」でも、 Windows の管理ツールのサービス管理から起動させるのでも好きな方で。

3. ちゃんと動かねー場合

コマンドラインから「cronevents」で cron の挙動のログが表示されるので参考にする。 長すぎると思ったら「cronevents | tail」で。
起動はしてるのにちゃんと crontab の設定どおりに動作してくれない場合、 cygrunsrv での登録時に Windows のユーザログインアカウントやパスワードの指定を間違っている可能性がある。かもしれない。


いんでっくすめぬーに戻る