大里です。 >From: horus@xxxxxxxxxxxxxxxx >Subject: [vine-users:078752] Re: cronについて >Date: Thu, 18 Sep 2008 00:58:32 +0900 > なるほど、tmを使って sleep()で休止しているわけでですね! > 正確に 指定した時間に起動できない理由がわかりました。 > > 確かにcronでの動作は、10分置きに稼動とか設定しても > 多少の誤差がありますし不思議でした。 > > # ま、設定していたのは、商用UNIX(Solaris系)がほとんどでしたので > # ソースを見ることは出来ませんでしたが > # 恥ずかしながら元SEの端くれです>< # わたしも SunOS や HP-UX ではどうだったか?覚えていません;-p # 数分の狂いなんぞ気にしなかったおおらかな時代で(^^;; 新しい vixie-cron は、かなり大幅に書き換えられているみたいなので、 CentOS-5.2 の vixie-cron-4.1 でも同じことをやってみました。 取得した時刻を吐くプログラムを cron に登録して、 10 秒前ぐらいに、 sudo date $(date -d "3sec ago" +%m%d%H%M.%S) と、強制的に時刻を狂わせる。 ver.3 では定刻前に実行されたのですが、ver.4 では定時より早く実行さ れることはなくなったようです。 なので、元の方の解決法としては、 1) 今の Vine のままなら、そのプログラムの実行 1分前に ntpd stop、 1 分後に ntpd start。 2) vixie-cron のヴァージョンアップ のどちらか一つの方法が考えられるんじゃないかと思います。 -- ; cron なんて同じだろ、と思いきや日々変わっているみたい。 ; 暫く浦島太郎状態だったので、追いかけるのが大変です(^^;; ; kazz / 大里和朗