2013/07/01

いまさらながら ntp で時刻合わせ

わが家の常時稼動PCなどで、公営ラジオ放送ネットサイマルR2の語学講座を録音しています。どの講座かは恥ずかしくて書けないのですが、普通に cron で録音のスクリプトが1日に数回起動します。

そのスクリプトでは「番組前と番組後に60秒ずつマージンをとる」ように録音しているのに、先頭のマージンが各ファイルで違っています。そもそもそのマージンを設定したのも、ちゃんと最初から録音できない日があったからでして、「違う」ということには気付いていたけど、起動する時にサーバの込み具合などの事情で録音が早く始まったり遅く始まったりしてるんだろうと思って、原因究明はしていませんでした。

そんな状態でかれこれ1年半が過ぎ、今朝ふと気が向いて、各ファイルのマージンの時間がどれほどあるかおおよそのところを耳で聞きながら調べてみました(要らない部分をカットするスクリプトを作ったので、カットする時間の設定が必要だった)。

そしたら、次のような値になっていました。

06/24 60秒 = ほぼ設定通り
06/25 62秒
06/26 63秒
06/27 65秒
06/28 67秒
 :
 :
07/01 70秒

タイムスタンプをみると、スクリプトの起動から11〜12秒でファイルの書き込みが始まっています。つまり、PCの時計の遅れがそのまま先頭マージンの長さに影響を及ぼしていたのです。

「システム設定> 日付と時刻 > ネットワーク時刻」が「オン」になっていたから、Ubuntu が勝手に ntp.ubuntu.com にアクセスしてシステム時計を調整してくれているものだとばかり思って、疑うことすらしていませんでした。


---- ここからが本題 ----


■ ntpdate を使う

早速ググってみたら、ntp を「確実に」使う方法はすぐ分かりました。


1) ntpdate の設定

$ sudo (editor) /etc/default/ntpdate

中身は

| NTPDATE_USE_NTP_CONF=no 
| NTPSERVERS="ntp2.mynsp.com ntp1.mynsp.com"
|
NTPOPTIONS="-s -u"

2番めのNTPSERVERS の項目を有効にするためには1番めの「ntp.conf を使う」が「no」でないといけないようです。3番めのオプションは man を読む限りだいたいこんなものかなと。(editor) は gedit でも pico でも可(万年よちよちの俺は、いまだに vi はよう使わん)。

ntp サーバは実際には、次のような順番で設定しました。

① プロバイダのプライマリ
② プロバイダのセカンダリ
③ ntp.ring.gr.jp
④ ntp.nict.jp


2) cron.daily に登録

$ sudo (editor) /etc/cron.daily/ntpdate

中身は

| #!/bin/sh
| /usr/sbin/ntpdate-debian > /dev/null 2>&1



"ntpdate" を設定に従って実行するときは "ntpdate-debian" を使うようです。これが設定に従って ntpdate を逐次実行するみたい。


3) ntpdate を実行可能にする

$ sudo chmod 755 /etc/cron.daily/ntpdate

これでいいみたいです。 

端末などで手動実行するのにも、ntpdate 実行自体がルートでないとだめみたい。

$ sudo ntpdate ntp1.mynsp.com



で、実際に実行してみたら13秒ちょっと遅れていました。ネットワークのインタフェィス起動時に時刻は同期される、と書いてありましたが、ずっとつなぎっぱなしの環境では意味ないし。で、そんなわけでこれでやっと時計合わせ問題から解決される…はず。

cron がちゃんと動いてくれるかが最後の難関になりそうです。


しかし「日付と時刻の設定」の「ネットワーク時刻」は、いったいどこで何をしているんでしょうか。うそつきは(というより、ntp.conf 設定しろとか、何か言ってくれないと)困ります。


■ 今回いろいろ教わった先人方のブログ

# さくらの VPS: Ubuntu 12.04 導入後の設定(2)
# http://blog.livedoor.jp/oceanweb/archives/18083469.html
 

# おおかみ少年: タイムサーバーと時刻の同期
# http://blog.wolf.boy.jp/?cid=46505


# jitsu102の日記: (設定メモ)ntpdate-debianによる時刻同期
# http://d.hatena.ne.jp/jitsu102/20080721/1216568235


どうもありがとうございます。

----
(Jul.01, 2013)


0 件のコメント:

楽天モバイルを台湾で使ってみた

GWに、久しぶりに台湾に赴きました。コロナ禍の間に延命していた台湾大哥大と中華電信の回線のうち中華電信の方を失効させてしまい(なぜ中華電信だけ失効したんだろう)、今回の滞在は台湾大哥大と楽天モバイルの2回線で賄うことにしました。テザリングでAndroidスマホ1台とiPad、Ma...