質問: 起きてる問題 ------ AWS上で利用しているEC2サーバーのシステムクロックが、現在時刻とズレてしまっている。 ``` $> date 2021年 8月 31日 火曜日 08:50:03 UTC # 本当の現在時刻は2021/8/31 07:34:00 UTC ``` 前提および利用環境 --------- ・Amazon EC2サーバーを利用 ・OSは Red Hat Enterprise Linux Server release 5.5 (Tikanga) ・ntpdサービスは諸事情により利用不可 やったこととぶち当たった壁 ------------- OSが古すぎるせいで、Amazon Time Sync Serviceはインストールすら不可能。 ntpdサービスも制限されていて使えない。 5,6年前くらいからある、敏感なレガシーシステムでありOS再起動もできない。 最後に行き着いた先は、dateコマンドで手動で時刻を変更するという方法。 しかし、コマンドを実行しても、現在時刻がアップデートされません。 ``` $> date 2021年 8月 31日 火曜日 08:50:03 UTC $> date -s "2021-08-31 07:34:00" 2021年 8月 31日 火曜日 07:34:03 UTC $> date 2021年 8月 31日 火曜日 08:50:03 UTC # 更新できてない... ``` 原因がわかりそうな方がいれば、どんな情報でも構わないのでお答えいただきたいです。 よろしくお願いします。
回答: > > > ``` > $> date > 2021年 8月 31日 火曜日 08:50:03 UTC > > $> date -s "2021-08-31 07:34:00" > > ``` > > `date`は念じた書式を理解してくれるわけではなく、明示的に書式を指定する必要があります。時刻調整であって日付を変える必要がない場合はroot権限で ``` #> date +%T -s "07:34:00" ``` ですかね。これは ``` $> date +%T 08:50:03 ``` に対応します。 Red Hat Enterprise Linux 5であっても`ntpd`は存在するわけで、本質的にはなぜこれが動作しないのかだと思います。その意味では > > > ``` > 2021年 8月 31日 火曜日 08:50:03 UTC > > ``` > > という記述が気になりました。時刻が9時間ずれていませんか? そしてその理由はタイムゾーンが設定されていないのではありませんか? 08:50:03 UTC は日本時間の 17:53:03 を意味します。