« 【スパム対策】メールアドレスのエンティティ化 | メイン | 買わずにコンプリート。。。銀河鉄道999 »

Ramdom Entry Pickup

daemontoolsによる「ntpd」の監視


[PR] 「ほったらかしアフィリエイト実践会」わずか108円であなたに代わって優秀なライターが、毎日3本の最新アフィリエイト記事を書いてくれる!

Category : [ 自宅サーバ ]
April 19, 2005 21:52
TAG : [Linux,Qmail]





最近、「qmail」ログ解析メールに、
何もかかれていない、というのが多発しました。

cronによるスケジュールの時間を変更してみてもダメ。

と、同時に、最近サーバーの時計がよく狂うな、と思ってました。

なぜ気づいたかというと、
このブログのエントリーを書くときの「作成日時」がでたらめなんです

ふと、ntpd止まってる???

と思い、プロセスを見てみると案の定、落ちている。。。。

ネットで検索すると、まさにそれらしきページがありました。

『EZ-NET レポート: ntpd ばたばた日記』

そのサイトによると、

どうやらこれから察するに、ntpd は、自身の時刻が 1000秒以上の開きがあると、ntpd はその役割を終えてしまうようです。しばらくしてから落ちるのは、タイムサーバへ時刻の問い合わせをしているせいなのでしょう…。

とのこと。

ということで、「daemontools」にて、ntpdサービス監視することにしました。

daemontoolsはすでに、qmailの導入時に一緒に入れているので、
後はntpdに対して設定するだけです。

まず、/etc/ntpディレクトリに次のような起動スクリプトを「run」という名称で作成します

#!/bin/sh
exec /usr/local/bin/ntpd -d

ファイルに実行権限を与えます。

chmod +x /etc/ntp/run

次に直下に「log」ディレクトリを作成し、/etc/ntpディレクトリ自体にもt属性を与えます。

mkdir log
chmod +t /etc/ntp

そして、logディレクトリに次のような起動スクリプトを「run」という名称で作成します

#!/bin/sh
exec multilog -t s4096 n10 /var/log/ntpd

これも同様に実行権を与えておきます。

chmod +x /etc/ntp/log/run

そして最後に、/serviceディレクトリにシンボリックリンクを張って終了です。

ln -s /etc/ntp /service/

いちをサービス監視できているかを確認します。

svstat /service/ntp

svstat ntp
ntp: up (pid 14541) 257 seconds

カウントアップしているので、いちを監視できているようです。

成功だ〜!

---------------------------------------------
2005/5/3 追加

いくらdaemontoolsntpdの再起動を繰り返しても、
もともと1000秒以上狂った時計をntpdで合わせようと思っても
ダメだと言うことに気がつきました(笑)

実際ログを見たら、立ち上がっては落ち、立ち上がっては落ちを繰り返して、
結局時計が狂ってしまってました(^^;)

ということで、ntpdを起動する前に、手動で外部ntpdに一度合わせることにしました。

#!/bin/sh
/usr/sbin/ntpdate 任意の時計サーバ
exec /usr/local/bin/ntpd -d

またこれで様子を。。。

参考URL:
『EZ-NET レポート: ntpd ばたばた日記』
daemontoolsによるロギングとプロセス監視(2/3)
daemontoolsでログ管理(multilog)〜マロンくん.NET〜




ソーシャルブックマーク

「del.icio.us」にブックマーク|このエントリーの「del.icio.us」での登録状況|はてなブックマーク|はてなブックマーク|テクノラティ・リンク検索結果|Technorati|BlogPeople Instant Bookmark|BlogPeople Tags|ドリコムRSS|ニフティクリップ|livedoorクリップ|livedoorクリップ|ECナビに登録|add-fc2.gif|FC2ブックマークでの登録状況

このエントリーと関連性が高いと思われるエントリー


このエントリーに関連するかもしれない商品


おすすめ商品


Link Information

Link HTML:

トラックバックURL:

コメントする