vine-users ML アーカイブ



[vine-users:078753] Re: cronに ついて

  • From: "OOSATO, Kazzrou" <kazz@xxxxxxxxxxxxxx>
  • Subject: [vine-users:078753] Re: cronに ついて
  • Date: Thu, 18 Sep 2008 02:30:56 +0900
  大里です。

>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 / 大里和朗