WindowsでCygwinを使ってcronする

WindowsでCygwinを使ってcronする

前提事項

  • Windows PCであること。(Windows 7 64bitで動作確認済み)
  • Cygwinがインストールされていること



手順

  1. cygwinのsetpu.exeを使って「cron」と「cygrunsrv」をインストール
    • 「cron」と「cygrunsrv」は、Adminカテゴリの中にあります。


  2. cygwinからWindowsサービスにcronを登録する。
    • $ cygrunsrv -I cron -p /usr/sbin/cron -a -n
      • 「-D」オプションが着いたような間違ったコマンドで登録した場合は、Windowsのコマンドプロンプト(Cygwinではない)で以下の様一旦削除する。
      • # sc.exe delete cron
        [SC] DeleteService SUCCESS


  3. cronを起動する
    • $ cygrunsrv --start cron
      • 以下の様なエラーが出た場合は・・・
      • cygrunsrv: Error starting a service: QueryServiceStatus:  Win32 error 1062:
        • /var/log/cron.log を確認する。
        • /usr/sbin/cron: can't lock /var/run/cron.pid, otherpid may be 13444: Resource temporarily unavailable
          • この場合は、いったん「/var/run/cron.pid」を削除してもう一回起動しなおしたら成功した。


  4. cronが起動したか確認
    • ~$ ps auxwww | grep cron
          13444       1   13444      13444  ?       1000 17:11:19 /usr/sbin/cron
      • プロセスが立ち上がっていない場合は「cron-config」を実行する


  5. あとはいつもの様に「crontab -e」でコマンド登録するだけ。