システムクロックをハードウェア時計と恒久的に同期させるにはどうすればよいですか?

システムクロックをハードウェア時計と恒久的に同期させるにはどうすればよいですか?

サーバーのアップデートを確認し、1つずつインストールしてから再起動が必要かどうかを確認するcronjobを実行しています。このスクリプトは、サーバーを再起動する必要がある場合にサーバーを起動しますreboot

ハードウェアクロックは起動時に使用され、システムクロックが使用されるまでに1分かかります。

システムクロックに切り替える前に、ログにはサーバーが約1時間遅れていることがわかりました。サーバーがハードウェアからシステムクロックに切り替わると、ログは1時間ほどジャンプして進行し、これによってcronデーモンがトリガーされ、次のようになりました。更新スクリプトの時間が経過したので、もう一度実行してください。

スクリプトは週に一度だけ実行されるため、再開ループがトリガーされます。

実行はhwclock --systohcシステムクロックをハードウェアクロックと同期しますが、永続的ではありません。再起動後、時差による疲労が再び消えた。

私の質問は

システムクロックをハードウェア時計と恒久的に同期させるにはどうすればよいですか?

出力timedatectl status

      Local time: Tue 2018-08-28 12:05:37 CEST
  Universal time: Tue 2018-08-28 10:05:37 UTC
        RTC time: Tue 2018-08-28 10:05:37
       Time zone: n/a (CEST, +0200)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: yes
      DST active: yes
 Last DST change: DST began at
                  Sun 2018-03-25 01:59:59 CET
                  Sun 2018-03-25 03:00:00 CEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2018-10-28 02:59:59 CEST
                  Sun 2018-10-28 02:00:00 CET

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

  • CentOS Linuxバージョン7.5.1804(コア)
    • VPSサーバーです。
  • ヨーロッパ/アムステルダム

答え1

あなたのコメントによるとtimedatectl status

  • ハードウェアクロック(RTC)がUTC時間(RTC time)に設定されています。
  • システムは、ハードウェア時計を現地時間(RTC in local TZ)で評価するように設定されています。

したがって、起動時にシステムクロックが1時間遅れます(標準時間帯には夏時間は適用されません)。

からman hwclock

LinuxなどのPOSIXシステムは、システムクロックがUTC時間単位で動作するように設計されています。

次の操作で簡単に修正できます。

timedatectl --adjust-system-clock set-local-rtc 0

すべての悪の源は、RTCが自分が設定したTZを覚えていないということです。このRTC time行にはTZマークはありません。ハードウェアに時間を保存し、ファイルにTZを保存した場合(/etc/adjtime例:@spuraticさん注)2 つの情報間の同期が失われやすい。

完全性のために、IMHOは、ハードウェアクロックがローカルに設定されている唯一のケースはデュアルブートシステムです。Windows

関連情報