cronの導入

  • Cygwinの以下のパッケージをインストールする
    • cron
    • cygrunsrv
  • 以下のコマンドを実行し、Windowsサービスにcronを登録する

$ cygrunsrv --install cron --path /usr/sbin/cron --args -D

  • Windowsサービスにcronが登録されていることを確認したら、cronを以下コマンドで実行

$ cygrunsrv --start cron

  • ここで以下のエラーが出る場合がある。

$ cygrunsrv --start cron
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062:
そのサービスを開始できませんでした。

  • /var/log/cron.logを見ると以下のようなログが出力されていた。

$ cat /var/log/cron.log
...
cannot chdir(/var/cron), bailing out.
/var/cron: Permission denied
...

  • どうやら/var/cronが現在作業中のアカウントのユーザーで作成されてしまっているのが問題のようだ。以下のコマンドを実行し、再度startしたところ、正常に起動できた。

$ chown -R SYSTEM:root /var/cron
$ cygrunsrv --start cron