timedatectl を使用して新しいタイムゾーンを設定した後、再起動する必要がありますか?

timedatectl を使用して新しいタイムゾーンを設定した後、再起動する必要がありますか?

私はタイムゾーン A の 1604 システムを使用していますが、timedatectl set-timezone B を使用してタイムゾーンを B に設定した後、すべて正常に動作します。(「timedatectl status」は B、「date」コマンドは正しい時間を表示し、新しいファイルを作成した後はファイル時間も正確です)

しかし、rsyslogd はまだタイムゾーン A で動作しており、crond もタイムゾーン A で動作していることがわかりました。古いタイムゾーンで実行されている他のデーモンがあるかどうかは不明なので、これを回避するためにシステムを再起動しました。

なぜそれらのデーモンは新しいタイムゾーンで更新されなかったのでしょうか?

答え1

はい。システム上の cron および rsyslog サービスを再起動する必要があります。これらのサービスは起動時にタイムゾーンを取得し、システム全体のタイムゾーンの変更は検出しません。

service cron restart
service rsyslog restart

答え2

Ubuntu 16.04 以降では、サービスを再起動するための最も適切なsystemdコマンドは次のとおりです。

sudo systemctl restart cron
sudo systemctl restart rsyslog

は機能しますがservice <name> stop/start/restart、 構文は非推奨となり、 が推奨されますsystemctl stop/start/restart <name>

関連情報