Cygwin の cron を動かす

自動でファイルサーバに rsync みたいなことをしたくなることがあるわけです。Windows でこれをやるとき、タスクとか使えばできるんですが、いかんせん最小でも日単位。分単位でやりたい事情があったので cron を入れてみましょう。

調べると、先人がいました。すばらしい。ところが、なぜかハマルことに・・・。

どうもちゃんと動いてくれません。サービスの登録まではできましたが、ちゃんとコマンドを実行してないみたい。実行ログはイベントビューアで見られるようです。調べてみると /var/cron/tabs/ 下のファイルの所有者が SYSTEM になってないとか。どうも、crontab -e で編集すると、編集したユーザーで保存してしまって、これがダメらしい。所有者をかえたらようやく動きました。なんだかなぁ。

これで一件落着と思ったら、まだ罠が・・・。書き込み先は samba 上のディレクトリなんですが、これの所有者はもちろん自分(unno)です。cron は SYSTEM で動いてるせいで書き込めない・・・。これは cron サービスの実行ユーザを unno にすれば解決。GUI からかえられます。あと、ドメインユーザだったのでローカルユーザーの unno を新たに作らないとダメみたいです。