Linuxシステム時間が他のすべてのログ時間と一致しません。

Linuxシステム時間が他のすべてのログ時間と一致しません。

QA環境でwarを何度もデプロイしましたが、Linuxシステムでdateコマンドを実行すると、私が設定した正しいPST時間が表示されますが、ログには別の時間が表示されます。同じWARが開発環境にもデプロイされますが、これは完全に問題ありません。

答え1

セッションのタイムゾーンの設定は、必ずしもシステムのデフォルトのタイムゾーンと同じである必要はありません。セッションにTZ環境変数を設定する場合は、アプリケーションを手動で起動するときと、システムがアプリケーションを自動的に起動するとき(または場合)の両方に設定するように、アプリケーション起動スクリプトでも設定する必要があります。起動時のアプリケーション。

システムログは通常、システムのデフォルトタイムゾーンに出力されます。アプリケーションログは、アプリケーションの起動時にTZ環境変数で指定された任意の時間帯に出力できます。 TZ変数が設定されていない場合は、システムのデフォルトのタイムゾーンが使用されます。

date -uシステムに正しいUTC時間情報があることを確認するために使用されます。 UTC値は間違っていますが、現地時間値が正しいと思われる場合は、タイムゾーンの設定に問題があります。

システムのデフォルトのタイムゾーンは、ディレクトリからそのタイムゾーンファイルをコピーすることによって/usr/share/zoneinfo決定されます/etc/localtime

RedHatと関連ディストリビューションにはデフォルトの/etc/sysconfig/clockタイムゾーン仕様も含まれていますが、実際にはそうではありません。置くメインタイムゾーン:代わりに通知する/etc/localtimeオペレーティングシステムのインストーラが入力したタイムゾーンファイル。指定されたタイムゾーンを変更するだけでは、システムのデフォルトのタイムゾーンは実際には変更されません。一致するように/etc/sysconfig/clockファイルも更新する必要があります。/etc/localtimeこれにより、いくつかの新しいシステム管理者が困難な場所に置かれました。

関連情報