やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

1回だけ時刻同期するコマンドを叩きたかったが、できなかった

前回の妥協。

時刻同期

以下のコマンドで時刻同期できる。

sudo ntpdate -u ntp.jst.mfeed.ad.jp

前回はこれを自動化したかったが、できなかった。

仕方ないので、手動で実行する。でも、極力楽がしたい。どうするか。

併用

いろいろなコマンドと同時に実行したい。~/.bash_profileに書く。$ bash -lでまとめて実行すれば楽チン。

  • 問題: 1回あたり7秒くらい応答が返ってこない!
  • 案: 時刻同期だけは最初の一回のみ実行し、二回目以降は実行しない

1回だけ

1回実行したら一時ファイルを作る。一時ファイルが存在したら実行したとみなし、もう実行しない。

という方法を思いついた。が、$ bash -lを打つ前に一時ファイルが作成されていた。なのに時刻同期はされていなかった!

ログイン後自動実行

原因は以下。

UNIX処方箋:bashが起動時に実行するファイル - ITmedia エンタープライズ

ログインすると自動実行されるらしい。.bash_profile -> .bashrc

時刻同期されず

でもdateコマンドを叩くと時刻同期されていないことがわかる。

時刻同期コマンドは実行はされるのに時刻同期はされない?

なぜ時刻同期されないのか……。ログイン後のタイミングだと時刻同期できない理由でもあるのか? 7秒以上まっても同期されないのだが。

./bashrc

~/.bash_profileから削除して、~/.bashrcに移し替えたらいけるんじゃないか?

次回、やってみる。