cron UNIX

ntpdateとcrontabで時刻を合わせてみる

2019/03/04

足元にある(実験用)サーバの時刻がよくズレているので気づいた時に手動で ntpdate を叩いていたのですが、当たり前ですが面倒くさくなってきたので、一日一回、自動で起動するようにしてみました。

シェルファイル(.sh)を作成するのと、作成しない2パターンを忘備録としてポストしておきます。
なお ntp はインストールされているものとします。

ntpdateのパスを確認する

rootユーザでログインし、インストールされている ntpdate のパスを確認。

↑ which コマンドでパスを調査

shファイルを作成するパターン

↑ シェルファイルを設置する(任意の)ディレクトリへ移動。

↑ ファイル名を指定して vi を起動することで、新規ファイルを作成できます。

先ほど確認したパスを含む、下記のコマンドを記述します。

/usr/local/bin/ntpdate ntp1.jst.mfeed.ad.jp

Esc: w pEnterで保存します。

↑ パーミッションを 755 とし、実行権限を与えます

cron作成

↑ crontabエディタ(vi)を起動します。

毎時5分に起動させてみます。
改行はせず、一行で書いてください。

5 * * * * /var/www/develop/public_html/ntp.sh

Esc: w pEnterで保存します。

shファイルを作成しないパターン

シェルファイルを作成するのが面倒な場合は、直接crontabでntpdateを起動させてみでもOKです。
今回、私はコチラを採用しました。

cron作成

同じく、毎時5分に起動させてみます。
改行はせず、一行で書いてください。

5 * * * * /usr/local/bin/ntpdate ntp1.jst.mfeed.ad.jp

基本は上記記述でよいですが、動いているか分からないのでログを別途出力してみます。
改行はせず、一行で書いてください。

5 * * * * /usr/local/bin/ntpdate ntp1.jst.mfeed.ad.jp>>/var/log/ntplog/ntpdate.log 2>&1

Esc: w pEnterで保存します。

↑ ntpdateログ用のディレクトリを作成します。

ログファイルを見ることで毎時5分に実行されているかを確認できます。

ログを確認。

↑ きちんと動作し、ログファイルへも書かれていることが確認できました。

これで時間がずれることはなくなりました。
上記の例では毎時、時刻を合わせていますが、ログが大量に出るので、1日1回ぐらいにするのがベターだと思われます。

-cron, UNIX
-, ,