Cygwin で Cron を動かす

[`evernote` not found]
Bookmark this on Hatena Bookmark
Share on Facebook
LINEで送る

インストール

cron と cygrunsrv を cygwin でインストール済とする.
合わせて,nkfも入れてあると便利.

nkf を入れる場合,gcc-coreとmakeも入れておくこと.

サービスに登録

昔は cygrunsrv を叩いていたが,今は cron-config でできる.
要,管理者権限.

予断だが ssh-server なんかも ssh-host-config でできるらしい.

yes/no で聞かれているところは基本 yes.
入力を促されるところは CYGWIN は空欄,パスワードは Windows のログオンパスワード.

もしエラーが起こった時に,日本語で読みたい場合は,

cron-config 2>&1 | nkf -u

とかしておくと便利.

cron を開始

うまく開始する条件がよく分からんが,たまに上でうまく動作しないことがある.
一応,こうなっていれば成功のはずなのに,なぜかスクリプトの出力をファイルにリダイレクトさせたはずの出力が得られないことがある.

$ cygrunsrv -Q cron
Service             : cron
Display name        : Cron daemon
Current State       : Running
Controls Accepted   : Stop
Command             : /usr/sbin/cron -n

そういう時は,サービスの再起動が良い.
要管理者権限.

$ net stop cron 2>&1 | nkf -u
$ net start cron 2>&1 | nkf -u

これはメッセージが日本語確定なので,nkfを使う.
で,その後ステータスを見て, Current State が Runnning でなければ,cygrunsrv で開始させる.

$ cygrunsrv -S cron