Armadilloフォーラム

cronとntpの異常

nakamura_dev

2016年8月31日 15時49分

お世話になります。

 ntpclientを起動するアプリケーションを作成し、そのアプリケーションをcronで毎日1:00に起動するように設定しました。
 失敗時はsnmpでトラップ出力およびファイル保存するようにしています。
 RTCは搭載しておりません。システムクロックでのみ稼働しています。

 状況として、
 ①cronが1:00ちょうどに動作せず、0:45~1:00の間で毎日変動しました。
 ②その間、ntpclientはNTPサーバへの接続に失敗していました。
 ③アプリケーションはcronで1回しか実行されないはずなのに、1分間に複数回実行(そして失敗記録)されました。
 ④NTPサーバへの接続は回復せず、armadillo再起動で回復しました。
 ⑤現象が発生するボードとしないボードがあります。(納品現場によるのかもしれません)

 NTPの実行
  system("/bin/ntpclient -h 192.168.1.65 -s -i 1 -c 1 > ファイル名");

crontabの設定
  0 16 * * * 実行プログラム名

です、そこで、質問ですが、

 ①cronの実行時刻がずれてしまうことの要因
 ②cronとntpclientの相性・注意等
 ③ntpclientからのネットワークへの影響など

 よろしくお願いします。

コメント

at_takashi.sasayama

2016年9月9日 9時58分

笹山です。

ご返信が遅くなり申し訳ございません。

>  ①cronの実行時刻がずれてしまうことの要因
再現試験を実施してみたのですが、大きく時間がずれて cron が実行されることはありませんでした。
またcronによる実行も1回のみで、連続することはありませんでした。
ご報告いただいたもの以外で、再現に関係ありそうな情報がありましたらご連絡をいただけますと有り難いです。

>  ②cronとntpclientの相性・注意等
>  ③ntpclientからのネットワークへの影響など
現状、上記に関し特に思いつくことはありません。
何かわかりましたら捕捉させていただきたいと思います。

>  ④NTPサーバへの接続は回復せず、armadillo再起動で回復しました。
>  ⑤現象が発生するボードとしないボードがあります。(納品現場によるのかもしれません)

現象の発生はボード個体差(納品現場の環境差?)があるとのことですので、
まずは差が出る要因の調査を実施されるのが良いかと考えます。

>  ①cronの実行時刻がずれてしまうことの要因

システムクロックの精度で変動する大きさ (15分/日) ではなさそうです。

ntpの jitter は記録していますか?

>  ②cronとntpclientの相性・注意等

ntpの時刻同期によって、システム時間が過去に戻ってしまうと、cronは時間になったと勘違いして動作してしまうかもしれません。
ntpdate ではなく、ntpd の方が定期的に同期してくれるので、時間が大きく飛ぶことは少ないと思います。

>  ③ntpclientからのネットワークへの影響など

ntpからネットワークではなく、ネットワークがつながらないから ntpによる同期ができていないのではないでしょうか?
1時前後のネットワークの接続状況は、確認できていますか?