
私はDebian 9.5.1を使用しています。このコマンドを使用して、タイムゾーンdpkg-reconfigure tzdata
をテヘランに設定します。
現在、Linuxには3つのタイムゾーンがあります。次の3つのコマンドを一緒に実行し、ログを表示します。
root@debian:~: date
Mon Feb 18 14:01:21 +0330 2019
root@debian:~: tail -f /var/log/syslog
Feb 18 05:31:22 debian systemd[1]: Stopping Raise network interfaces...
root@debian:~: tail -f /var/log/apache2/error.log
2019-02-18 10:31:22 Error: Sms.Outbox
私のタイムゾーンと同期するにはどうすればよいですか?
答え1
ほとんどのプログラムは、起動時にタイムゾーンの設定を読み、プログラムの実行中に変更されないことを期待しています。
したがって、タイムゾーンが正しくないすべてのプログラムを再起動する必要があります。
root@debian:~: systemctl restart rsyslog
root@debian:~: systemctl restart apache2
また、起動プロセスの最初に正しいタイムゾーンが設定されるようにinitramfsファイルを更新する必要があります。
root@debian:~: update-initramfs -u
ApacheがUTCタイムゾーンを使用しているようです。これは意図的かもしれません。TZ
環境変数を使用して、特定のサービスのログがUTC時間でなければならない特定のログ後処理など、特定のプログラムの特定のタイムゾーンを設定できます。で設定できます/etc/apache2/envvars
。
syslogデーモンは東部タイムゾーンを使用できます。これは米国中心のソフトウェアの一般的な「工場出荷時のデフォルト」であり、タイムゾーンをテヘランに変更する前に設定したタイムゾーンにすることができます。
(DebianがUTCを工場出荷時のデフォルトとして使用してほしいと思いましたが、そうしない歴史的下位互換性の理由があるかもしれません。)