はじめに
macに開発環境としてvmware(fusion)を入れてます。
gitからソースやらを落として開発するのですが、
タイトルの通り、エミュレートしたマシンの時間がずれるので
いろんなタイムスタンプがズレていろいろうまくいかなかったりします。
そんなときのメモ
ながれ
- 時間ずれ問題とは
- ntpdateで解決する
- cron登録
1. 時間ずれ問題とは
とは、とか言っときながらうまく説明できる気がしないので他の方の引用で。
【ズレる理由】
2. ntpdateで解決する
解決方法は下記のようにいくつかあるようです。
今回は3. ntpdateコマンドで解決する
でいきます
まず確認
mac側
# date 2014年 9月19日 金曜日 14時59分50秒 JST
vmware側
2014年 9月 19日 金曜日 02:03:22 JST
結構ずれてるw
対応
コマンドは簡単でこう打つだけ。
ntp.nict.jp
は日本標準時プロジェクトのntpサーバです。
# sudo /usr/sbin/ntpdate ntp.nict.jp
- こんなエラーの場合
# sudo /usr/sbin/ntpdate ntp.nict.jp 19 Sep 01:57:15 ntpdate[10151]: the NTP socket is in use, exiting
こんなエラーがある場合は、ntpサーバが動いているのが理由らしい。
ntpサーバを止めて再度挑戦するか、ntpサーバ自体で時間を合わせる
※ 一応動いてることを確認 # ps aux | grep ntp ntp 2744 0.0 0.8 4292 4292 ? SLs Sep18 0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g ※ 止める # sudo /etc/init.d/ntpd stop ntpd を停止中: [ OK ] ※ 再挑戦 # sudo /usr/sbin/ntpdate ntp.nict.jp 19 Sep 15:03:26 ntpdate[10441]: step time server 133.243.238.244 offset 46611.350667 sec
これで時間が合いました。
ntpdで合わせたい人はほかの方のを参考にしてみてください。
これとか→CentOSにntpサーバを入れて、日本標準時刻に自動的に合わせるためのメモ
3. cron登録
ntpdateコマンドを1度たたいただけでは、またズレるのでこれをcron登録
cron登録
# crontab -e ---- vi追記 ---- */1 * * * * sudo /usr/sbin/ntpdate ntp.nict.jp --------------- "/tmp/crontab.XXXXhNgdxr" 2L, 61C written crontab: installing new crontab
後で確認するために1秒ごとにしてます。
日本標準時プロジェクトさんにご迷惑にならないように
実際はもっと眺めの間隔が良いでしょう。
確認
vmwareということでまっさらからはじめた状態で
もしかしたら何も入ってないかもしれないので一応確認します。
crontabはすでに動いてますが。。。
※ 一応確認 # sudo /etc/init.d/crond status crond (pid 2886) を実行中... ※ sudo chkconfig --list crond crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off ※ ログも確認 # sudo vi /var/log/cron -- なにもでない --
/var/log/cron
自体はcronが正常に実行できればログは出ません。
しかし、どうしても自身の目で確認したい
自分のような人のために呼ばれたかどうか別途確認してみます。
※ 再度編集(ログを出すように変更) # crontab -e ---- vi編集 ---- */1 * * * * sudo /usr/sbin/ntpdate ntp.nict.jp >> /home/hoge/log/cron.log 2>>/home/hoge/log/cron_err.log --------------- ※ ようやく確認 # less /home/hoge/log/cron.log 19 Sep 15:14:02 ntpdate[10966]: adjust time server 133.243.238.164 offset -0.017239 sec 19 Sep 15:15:02 ntpdate[11037]: adjust time server 133.243.238.243 offset -0.016052 sec 19 Sep 15:16:01 ntpdate[11052]: adjust time server 133.243.238.163 offset -0.016595 sec 19 Sep 15:17:02 ntpdate[11069]: adjust time server 133.243.238.243 offset -0.017273 sec
ってな感じで、1秒おきに時間合わせが呼ばれてることが確認できました。
最後は間隔を長くしておきましょう
まとめ
むかーしにやったことがあっても、普段やらないことはほんと忘れます。
簡単なことでもこーやって書いておくとだいぶ忘れないんですよね!\(^o^)/