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
これにより、いくつかの新しいシステム管理者が困難な場所に置かれました。